Merge branch 'staging' into wi-processing-refactoring

d2ca90bb2c7d87c7c85ee2db82cbbe02ebd1db56

Cohee <18619528+Cohee1207@users.noreply.github.com>

83 files changed, +5599 -350Showing whitespace changes
.eslintrc.js+1 -0
@@ -45,6 +45,7 @@ module.exports = {
4545 Readability: 'readonly',
4646 isProbablyReaderable: 'readonly',
4747 ePub: 'readonly',
48+ diff_match_patch: 'readonly',
4849 },
4950 },
5051 ],
default/content/presets/textgen/Asterism.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.68,
3+ "temperature_last": true,
34 "top_p": 0.17,
45 "top_k": 77,
5- "typical_p": 1,
66 "top_a": 0.42,
77 "tfs": 0.97,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.02,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Beam Search.json+65 -3
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 0.92,
45 "top_k": 150,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
1010 "rep_pentypical_p": 4.51,
11+ "min_p": 0,
12+ "rep_pen": 3,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 2,
1317 "penalty_alpha": 0,
1418 "num_beams": 10,
1519 "length_penalty": 1.4,
1620 "min_length": 200,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": true,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Big O.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.87,
3+ "temperature_last": true,
34 "top_p": 0.99,
45 "top_k": 85,
5- "typical_p": 0.68,
66 "top_a": 0,
77 "tfs": 0.68,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 0.68,
11+ "min_p": 0,
1012 "rep_pen": 1.01,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Contrastive Search.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 4,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0.6,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": false,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Default.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 0.5,
45 "top_k": 40,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.2,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Deterministic.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0,
3+ "temperature_last": true,
34 "top_p": 0,
45 "top_k": 1,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.18,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": false,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Divine Intellect.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.31,
3+ "temperature_last": true,
34 "top_p": 0.14,
45 "top_k": 49,
5- "typical_p": 1,
66 "top_a": 0.52,
77 "tfs": 1,
88 "epsilon_cutoff": 1.49,
99 "eta_cutoff": 10.42,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.17,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Kobold (Godlike).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 0.5,
45 "top_k": 0,
5- "typical_p": 0.19,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 0.19,
11+ "min_p": 0,
1012 "rep_pen": 1.1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Kobold (Liminal Drift).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.66,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 0.6,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 0.6,
11+ "min_p": 0,
1012 "rep_pen": 1.1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/LLaMa-Precise.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 0.1,
45 "top_k": 40,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.18,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 200,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Midnight Enigma.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.98,
3+ "temperature_last": true,
34 "top_p": 0.37,
45 "top_k": 100,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.18,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Miro Bronze.json+62 -1
@@ -1,24 +1,85 @@
11{
22 "temp": 1.06,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 2,
2142 "mirostat_tau": 9.61,
2243 "mirostat_eta": 1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
2384 "rep_pen_size": 0
2485}
default/content/presets/textgen/Miro Gold.json+62 -1
@@ -1,24 +1,85 @@
11{
22 "temp": 1.17,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 2,
2142 "mirostat_tau": 9.91,
2243 "mirostat_eta": 1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
2384 "rep_pen_size": 0
2485}
default/content/presets/textgen/Miro Silver.json+62 -1
@@ -1,24 +1,85 @@
11{
22 "temp": 1.17,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 2,
2142 "mirostat_tau": 9.62,
2243 "mirostat_eta": 1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
2384 "rep_pen_size": 0
2485}
default/content/presets/textgen/Mirostat.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 2,
2142 "mirostat_tau": 8,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Naive.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 0.85,
45 "top_k": 50,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Best Guess).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.8,
3+ "temperature_last": true,
34 "top_p": 0.9,
45 "top_k": 100,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.15,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Decadence).json+65 -3
@@ -1,23 +1,85 @@
11{
22 "temp": 1.99,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 100,
5- "typical_p": 0.97,
6- "rep_pen": 1,
76 "top_a": 0,
87 "tfs": 1,
98 "epsilon_cutoff": 0,
109 "eta_cutoff": 0,
10+ "typical_p": 0.97,
11+ "min_p": 0,
12+ "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Genesis).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.63,
3+ "temperature_last": true,
34 "top_p": 0.98,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.05,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Lycaenidae).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.99,
3+ "temperature_last": true,
34 "top_p": 0.85,
45 "top_k": 12,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.15,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Ouroboros).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.07,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 100,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.05,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Pleasing Results).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.44,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.15,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Sphinx Moth).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.99,
3+ "temperature_last": true,
34 "top_p": 0.18,
45 "top_k": 30,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.15,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/NovelAI (Storywriter).json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.72,
3+ "temperature_last": true,
34 "top_p": 0.73,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Shortwave.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.53,
3+ "temperature_last": true,
34 "top_p": 0.64,
45 "top_k": 33,
5- "typical_p": 1,
66 "top_a": 0.04,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.07,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Simple-1.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 0.9,
45 "top_k": 20,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.15,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Space Alien.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.31,
3+ "temperature_last": true,
34 "top_p": 0.29,
45 "top_k": 72,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.09,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/StarChat.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.02,
3+ "temperature_last": true,
34 "top_p": 0.95,
45 "top_k": 50,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/TFS-with-Top-A.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.7,
3+ "temperature_last": true,
34 "top_p": 1,
45 "top_k": 0,
5- "typical_p": 1,
66 "top_a": 0.2,
77 "tfs": 0.95,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.15,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Titanic.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 1.01,
3+ "temperature_last": true,
34 "top_p": 0.21,
45 "top_k": 91,
5- "typical_p": 1,
66 "top_a": 0.75,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 10.78,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.21,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1.07,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/Universal-Creative.json+39 -4
@@ -11,6 +11,8 @@
1111 "min_p": 0.1,
1212 "rep_pen": 1,
1313 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1416 "no_repeat_ngram_size": 0,
1517 "penalty_alpha": 0,
1618 "num_beams": 1,
@@ -19,24 +21,56 @@
1921 "encoder_rep_pen": 1,
2022 "freq_pen": 0,
2123 "presence_pen": 0,
24+ "skew": 0,
2225 "do_sample": true,
2326 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
2438 "add_bos_token": true,
25- "truncation_length": 2048,
2639 "ban_eos_token": false,
2740 "skip_special_tokens": true,
28- "streaming": true,
2941 "mirostat_mode": 0,
3042 "mirostat_tau": 5,
3143 "mirostat_eta": 0.1,
3244 "guidance_scale": 1,
3345 "negative_prompt": "",
3446 "grammar_string": "",
47+ "json_schema": {},
3548 "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
3671 "ignore_eos_token": false,
3772 "spaces_between_special_tokens": true,
3873 "typespeculative_ngram": "ooba"false,
39- "legacy_api": false,
4074 "sampler_order": [
4175 5,
4276 6,
@@ -46,5 +80,6 @@
4680 3,
4781 4
4882 ],
83+ "logit_bias": [],
4984 "rep_pen_size": 0
5085}
default/content/presets/textgen/Universal-Light.json+39 -4
@@ -11,6 +11,8 @@
1111 "min_p": 0.1,
1212 "rep_pen": 1,
1313 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1416 "no_repeat_ngram_size": 0,
1517 "penalty_alpha": 0,
1618 "num_beams": 1,
@@ -19,24 +21,56 @@
1921 "encoder_rep_pen": 1,
2022 "freq_pen": 0,
2123 "presence_pen": 0,
24+ "skew": 0,
2225 "do_sample": true,
2326 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
2438 "add_bos_token": true,
25- "truncation_length": 2048,
2639 "ban_eos_token": false,
2740 "skip_special_tokens": true,
28- "streaming": true,
2941 "mirostat_mode": 0,
3042 "mirostat_tau": 5,
3143 "mirostat_eta": 0.1,
3244 "guidance_scale": 1,
3345 "negative_prompt": "",
3446 "grammar_string": "",
47+ "json_schema": {},
3548 "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
3671 "ignore_eos_token": false,
3772 "spaces_between_special_tokens": true,
3873 "typespeculative_ngram": "ooba"false,
39- "legacy_api": false,
4074 "sampler_order": [
4175 5,
4276 6,
@@ -46,5 +80,6 @@
4680 3,
4781 4
4882 ],
83+ "logit_bias": [],
4984 "rep_pen_size": 0
5085}
default/content/presets/textgen/Universal-Super-Creative.json+39 -4
@@ -11,6 +11,8 @@
1111 "min_p": 0.1,
1212 "rep_pen": 1,
1313 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1416 "no_repeat_ngram_size": 0,
1517 "penalty_alpha": 0,
1618 "num_beams": 1,
@@ -19,24 +21,56 @@
1921 "encoder_rep_pen": 1,
2022 "freq_pen": 0,
2123 "presence_pen": 0,
24+ "skew": 0,
2225 "do_sample": true,
2326 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
2438 "add_bos_token": true,
25- "truncation_length": 2048,
2639 "ban_eos_token": false,
2740 "skip_special_tokens": true,
28- "streaming": true,
2941 "mirostat_mode": 0,
3042 "mirostat_tau": 5,
3143 "mirostat_eta": 0.1,
3244 "guidance_scale": 1,
3345 "negative_prompt": "",
3446 "grammar_string": "",
47+ "json_schema": {},
3548 "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
3671 "ignore_eos_token": false,
3772 "spaces_between_special_tokens": true,
3873 "typespeculative_ngram": "ooba"false,
39- "legacy_api": false,
4074 "sampler_order": [
4175 5,
4276 6,
@@ -46,5 +80,6 @@
4680 3,
4781 4
4882 ],
83+ "logit_bias": [],
4984 "rep_pen_size": 0
5085}
default/content/presets/textgen/Yara.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.82,
3+ "temperature_last": true,
34 "top_p": 0.21,
45 "top_k": 72,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.19,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 5,
76+ 6,
77+ 0,
78+ 1,
79+ 2,
80+ 3,
81+ 4
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/presets/textgen/simple-proxy-for-tavern.json+64 -2
@@ -1,23 +1,85 @@
11{
22 "temp": 0.65,
3+ "temperature_last": true,
34 "top_p": 0.47,
45 "top_k": 42,
5- "typical_p": 1,
66 "top_a": 0,
77 "tfs": 1,
88 "epsilon_cutoff": 0,
99 "eta_cutoff": 0,
10+ "typical_p": 1,
11+ "min_p": 0,
1012 "rep_pen": 1.18,
1113 "rep_pen_range": 0,
14+ "rep_pen_decay": 0,
15+ "rep_pen_slope": 1,
1216 "no_repeat_ngram_size": 0,
1317 "penalty_alpha": 0,
1418 "num_beams": 1,
1519 "length_penalty": 1,
1620 "min_length": 0,
1721 "encoder_rep_pen": 1,
22+ "freq_pen": 0,
23+ "presence_pen": 0,
24+ "skew": 0,
1825 "do_sample": true,
1926 "early_stopping": false,
27+ "dynatemp": false,
28+ "min_temp": 0,
29+ "max_temp": 2,
30+ "dynatemp_exponent": 1,
31+ "smoothing_factor": 0,
32+ "smoothing_curve": 1,
33+ "dry_allowed_length": 2,
34+ "dry_multiplier": 0,
35+ "dry_base": 1.75,
36+ "dry_sequence_breakers": "[\"\\n\", \":\", \"\\\"\", \"*\"]",
37+ "dry_penalty_last_n": 0,
38+ "add_bos_token": true,
39+ "ban_eos_token": false,
40+ "skip_special_tokens": true,
2041 "mirostat_mode": 0,
2142 "mirostat_tau": 5,
2243 "mirostat_eta": 0.1 ,
44+ "guidance_scale": 1,
45+ "negative_prompt": "",
46+ "grammar_string": "",
47+ "json_schema": {},
48+ "banned_tokens": "",
49+ "sampler_priority": [
50+ "temperature",
51+ "dynamic_temperature",
52+ "quadratic_sampling",
53+ "top_k",
54+ "top_p",
55+ "typical_p",
56+ "epsilon_cutoff",
57+ "eta_cutoff",
58+ "tfs",
59+ "top_a",
60+ "min_p",
61+ "mirostat"
62+ ],
63+ "samplers": [
64+ "top_k",
65+ "tfs_z",
66+ "typical_p",
67+ "top_p",
68+ "min_p",
69+ "temperature"
70+ ],
71+ "ignore_eos_token": false,
72+ "spaces_between_special_tokens": true,
73+ "speculative_ngram": false,
74+ "sampler_order": [
75+ 6,
76+ 0,
77+ 1,
78+ 3,
79+ 4,
80+ 2,
81+ 5
82+ ],
83+ "logit_bias": [],
84+ "rep_pen_size": 0
2385}
default/content/settings.json+0 -1
@@ -44,7 +44,6 @@
4444 "preset": "Default",
4545 "add_bos_token": true,
4646 "stopping_strings": [],
47- "truncation_length": 2048,
4847 "ban_eos_token": false,
4948 "skip_special_tokens": true,
5049 "streaming": false,
package-lock.json+842 -17
@@ -67,6 +67,8 @@
6767 },
6868 "node_modules/@aashutoshrathi/word-wrap": {
6969 "version": "1.2.6",
70+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
71+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
7072 "dev": true,
7173 "license": "MIT",
7274 "engines": {
@@ -75,6 +77,8 @@
7577 },
7678 "node_modules/@agnai/sentencepiece-js": {
7779 "version": "1.1.1",
80+ "resolved": "https://registry.npmjs.org/@agnai/sentencepiece-js/-/sentencepiece-js-1.1.1.tgz",
81+ "integrity": "sha512-h2+XPrJVLuVLl+2+3iZPWcTw6Fs2NNulnxyh7LoI1hzHHib1wDC6KTmTrDJlLq7/lr5QFYpeMz2rlTFQrS0C0g==",
7882 "license": "Apache-2.0",
7983 "dependencies": {
8084 "app-root-path": "^3.1.0"
@@ -82,10 +86,14 @@
8286 },
8387 "node_modules/@agnai/web-tokenizers": {
8488 "version": "0.1.3",
89+ "resolved": "https://registry.npmjs.org/@agnai/web-tokenizers/-/web-tokenizers-0.1.3.tgz",
90+ "integrity": "sha512-KlmTftToTtmb6aLVdne4NluS+POWputPF5J8v25UN/EQS+K9vahWEIe1NPRSFqBQclObkqHaj7JOnFrmnSm5MA==",
8591 "license": "Apache-2.0"
8692 },
8793 "node_modules/@eslint-community/eslint-utils": {
8894 "version": "4.4.0",
95+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
96+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
8997 "dev": true,
9098 "license": "MIT",
9199 "dependencies": {
@@ -100,6 +108,8 @@
100108 },
101109 "node_modules/@eslint-community/regexpp": {
102110 "version": "4.10.0",
111+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
112+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
103113 "dev": true,
104114 "license": "MIT",
105115 "engines": {
@@ -108,6 +118,8 @@
108118 },
109119 "node_modules/@eslint/eslintrc": {
110120 "version": "2.1.4",
121+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
122+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
111123 "dev": true,
112124 "license": "MIT",
113125 "dependencies": {
@@ -130,6 +142,8 @@
130142 },
131143 "node_modules/@eslint/eslintrc/node_modules/debug": {
132144 "version": "4.3.4",
145+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
146+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
133147 "dev": true,
134148 "license": "MIT",
135149 "dependencies": {
@@ -146,22 +160,15 @@
146160 },
147161 "node_modules/@eslint/eslintrc/node_modules/ms": {
148162 "version": "2.1.2",
163+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
164+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
149165 "dev": true,
150166 "license": "MIT"
151167 },
152- "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": {
153- "version": "3.1.1",
154- "dev": true,
155- "license": "MIT",
156- "engines": {
157- "node": ">=8"
158- },
159- "funding": {
160- "url": "https://github.com/sponsors/sindresorhus"
161- }
162- },
163168 "node_modules/@eslint/js": {
164169 "version": "8.55.0",
170+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz",
171+ "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==",
165172 "dev": true,
166173 "license": "MIT",
167174 "engines": {
@@ -170,6 +177,8 @@
170177 },
171178 "node_modules/@huggingface/jinja": {
172179 "version": "0.1.2",
180+ "resolved": "https://registry.npmjs.org/@huggingface/jinja/-/jinja-0.1.2.tgz",
181+ "integrity": "sha512-x5mpbfJt1nKmVep5WNP5VjNsjWApWNj8pPYI+uYMkBWH9bWUJmQmHt2lbf0VCoQd54Oq3XuFEh/UyoVh7rPxmg==",
173182 "license": "MIT",
174183 "engines": {
175184 "node": ">=18"
@@ -177,6 +186,8 @@
177186 },
178187 "node_modules/@humanwhocodes/config-array": {
179188 "version": "0.11.13",
189+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
190+ "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
180191 "dev": true,
181192 "license": "Apache-2.0",
182193 "dependencies": {
@@ -190,6 +201,8 @@
190201 },
191202 "node_modules/@humanwhocodes/config-array/node_modules/debug": {
192203 "version": "4.3.4",
204+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
205+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
193206 "dev": true,
194207 "license": "MIT",
195208 "dependencies": {
@@ -206,11 +219,15 @@
206219 },
207220 "node_modules/@humanwhocodes/config-array/node_modules/ms": {
208221 "version": "2.1.2",
222+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
223+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
209224 "dev": true,
210225 "license": "MIT"
211226 },
212227 "node_modules/@humanwhocodes/module-importer": {
213228 "version": "1.0.1",
229+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
230+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
214231 "dev": true,
215232 "license": "Apache-2.0",
216233 "engines": {
@@ -223,6 +240,8 @@
223240 },
224241 "node_modules/@humanwhocodes/object-schema": {
225242 "version": "2.0.1",
243+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
244+ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
226245 "dev": true,
227246 "license": "BSD-3-Clause"
228247 },
@@ -317,6 +336,8 @@
317336 },
318337 "node_modules/@jimp/bmp": {
319338 "version": "0.22.10",
339+ "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.22.10.tgz",
340+ "integrity": "sha512-1UXRl1Nw1KptZ1r0ANqtXOst9vGH51dq7keVKQzyyTO2lz4dOaezS9StuSTNh+RmiHg/SVPaFRpPfB0S/ln4Kg==",
320341 "license": "MIT",
321342 "dependencies": {
322343 "@jimp/utils": "^0.22.10",
@@ -328,6 +349,8 @@
328349 },
329350 "node_modules/@jimp/core": {
330351 "version": "0.22.10",
352+ "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.22.10.tgz",
353+ "integrity": "sha512-ZKyrehVy6wu1PnBXIUpn/fXmyMRQiVSbvHDubgXz4bfTOao3GiOurKHjByutQIgozuAN6ZHWiSge1dKA+dex3w==",
331354 "license": "MIT",
332355 "dependencies": {
333356 "@jimp/utils": "^0.22.10",
@@ -342,6 +365,8 @@
342365 },
343366 "node_modules/@jimp/custom": {
344367 "version": "0.22.10",
368+ "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.22.10.tgz",
369+ "integrity": "sha512-sPZkUYe1hu0iIgNisjizxPJqq2vaaKvkCkPoXq2U6UV3ZA1si/WVdrg25da3IcGIEV+83AoHgM8TvqlLgrCJsg==",
345370 "license": "MIT",
346371 "dependencies": {
347372 "@jimp/core": "^0.22.10"
@@ -349,6 +374,8 @@
349374 },
350375 "node_modules/@jimp/gif": {
351376 "version": "0.22.10",
377+ "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.22.10.tgz",
378+ "integrity": "sha512-yEX2dSpamvkSx1PPDWGnKeWDrBz0vrCKjVG/cn4Zr68MRRT75tbZIeOrBa+RiUpY3ho5ix7d36LkYvt3qfUIhQ==",
352379 "license": "MIT",
353380 "dependencies": {
354381 "@jimp/utils": "^0.22.10",
@@ -361,6 +388,8 @@
361388 },
362389 "node_modules/@jimp/jpeg": {
363390 "version": "0.22.10",
391+ "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.22.10.tgz",
392+ "integrity": "sha512-6bu98pAcVN4DY2oiDLC4TOgieX/lZrLd1tombWZOFCN5PBmqaHQxm7IUmT+Wj4faEvh8QSHgVLSA+2JQQRJWVA==",
364393 "license": "MIT",
365394 "dependencies": {
366395 "@jimp/utils": "^0.22.10",
@@ -372,6 +401,8 @@
372401 },
373402 "node_modules/@jimp/plugin-blit": {
374403 "version": "0.22.10",
404+ "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.22.10.tgz",
405+ "integrity": "sha512-6EI8Sl+mxYHEIy6Yteh6eknD+EZguKpNdr3sCKxNezmLR0+vK99vHcllo6uGSjXXiwtwS67Xqxn8SsoatL+UJQ==",
375406 "license": "MIT",
376407 "dependencies": {
377408 "@jimp/utils": "^0.22.10"
@@ -382,6 +413,8 @@
382413 },
383414 "node_modules/@jimp/plugin-blur": {
384415 "version": "0.22.10",
416+ "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.22.10.tgz",
417+ "integrity": "sha512-4XRTWuPVdMXJeclJMisXPGizeHtTryVaVV5HnuQXpKqIZtzXReCCpNGH8q/i0kBQOQMXhGWS3mpqOEwtpPePKw==",
385418 "license": "MIT",
386419 "dependencies": {
387420 "@jimp/utils": "^0.22.10"
@@ -392,6 +425,8 @@
392425 },
393426 "node_modules/@jimp/plugin-circle": {
394427 "version": "0.22.10",
428+ "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.22.10.tgz",
429+ "integrity": "sha512-mhcwTO1ywRxiCgtLGge6tDDIDPlX6qkI3CY+BjgGG/XhVHccCddXgOGLdlf+5OuKIEF2Nqs0V01LQEQIJFTmEw==",
395430 "license": "MIT",
396431 "dependencies": {
397432 "@jimp/utils": "^0.22.10"
@@ -402,6 +437,8 @@
402437 },
403438 "node_modules/@jimp/plugin-color": {
404439 "version": "0.22.10",
440+ "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.22.10.tgz",
441+ "integrity": "sha512-e4t3L7Kedd96E0x1XjsTM6NcgulKUU66HdFTao7Tc9FYJRFSlttARZ/C6LEryGDm/i69R6bJEpo7BkNz0YL55Q==",
405442 "license": "MIT",
406443 "dependencies": {
407444 "@jimp/utils": "^0.22.10",
@@ -413,6 +450,8 @@
413450 },
414451 "node_modules/@jimp/plugin-contain": {
415452 "version": "0.22.10",
453+ "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.22.10.tgz",
454+ "integrity": "sha512-eP8KrzctuEoqibQAxi9WhbnoRosydhiwg+IYya3dKuKDBTrD9UHt+ERlPQ/lTNWHzV/l4S1ntV3r9s9saJgsXA==",
416455 "license": "MIT",
417456 "dependencies": {
418457 "@jimp/utils": "^0.22.10"
@@ -426,6 +465,8 @@
426465 },
427466 "node_modules/@jimp/plugin-cover": {
428467 "version": "0.22.10",
468+ "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.22.10.tgz",
469+ "integrity": "sha512-kJCwL5T1igfa0InCfkE7bBeqg26m46aoRt10ug+rvm11P6RrvRMGrgINFyIKB+mnB7CiyBN/MOula1CvLhSInQ==",
429470 "license": "MIT",
430471 "dependencies": {
431472 "@jimp/utils": "^0.22.10"
@@ -439,6 +480,8 @@
439480 },
440481 "node_modules/@jimp/plugin-crop": {
441482 "version": "0.22.10",
483+ "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.22.10.tgz",
484+ "integrity": "sha512-BOZ+YGaZlhU7c5ye65RxikicXH0Ki0It6/XHISvipR5WZrfjLjL2Ke20G+AGnwBQc76gKenVcMXVUCnEjtZV+Q==",
442485 "license": "MIT",
443486 "dependencies": {
444487 "@jimp/utils": "^0.22.10"
@@ -449,6 +492,8 @@
449492 },
450493 "node_modules/@jimp/plugin-displace": {
451494 "version": "0.22.10",
495+ "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.22.10.tgz",
496+ "integrity": "sha512-llNiWWMTKISDXt5+cXI0GaFmZWAjlT+4fFLYf4eXquuL/9wZoQsEBhv2GdGd48mkiS8jZq1Nnb2Q4ehEPTvrzw==",
452497 "license": "MIT",
453498 "dependencies": {
454499 "@jimp/utils": "^0.22.10"
@@ -459,6 +504,8 @@
459504 },
460505 "node_modules/@jimp/plugin-dither": {
461506 "version": "0.22.10",
507+ "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.22.10.tgz",
508+ "integrity": "sha512-05WLmeV5M+P/0FS+bWf13hMew2X0oa8w9AtmevL2UyA/5GqiyvP2Xm5WfGQ8oFiiMvpnL6RFomJQOZtWca0C2w==",
462509 "license": "MIT",
463510 "dependencies": {
464511 "@jimp/utils": "^0.22.10"
@@ -469,6 +516,8 @@
469516 },
470517 "node_modules/@jimp/plugin-fisheye": {
471518 "version": "0.22.10",
519+ "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.10.tgz",
520+ "integrity": "sha512-InjiXvc7Gkzrx8VWtU97kDqV7ENnhHGPULymJWeZaF2aicud9Fpk4iCtd/DcZIrk7Cbe60A8RwNXN00HXIbSCg==",
472521 "license": "MIT",
473522 "dependencies": {
474523 "@jimp/utils": "^0.22.10"
@@ -479,6 +528,8 @@
479528 },
480529 "node_modules/@jimp/plugin-flip": {
481530 "version": "0.22.10",
531+ "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.22.10.tgz",
532+ "integrity": "sha512-42GkGtTHWnhnwTMPVK/kXObZbkYIpQWfuIfy5EMEMk6zRj05zpv4vsjkKWfuemweZINwfvD7wDJF7FVFNNcZZg==",
482533 "license": "MIT",
483534 "dependencies": {
484535 "@jimp/utils": "^0.22.10"
@@ -490,6 +541,8 @@
490541 },
491542 "node_modules/@jimp/plugin-gaussian": {
492543 "version": "0.22.10",
544+ "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.10.tgz",
545+ "integrity": "sha512-ykrG/6lTp9Q5YA8jS5XzwMHtRxb9HOFMgtmnrUZ8kU+BK8REecfy9Ic5BUEOjCYvS1a/xLsnrZQU07iiYxBxFg==",
493546 "license": "MIT",
494547 "dependencies": {
495548 "@jimp/utils": "^0.22.10"
@@ -500,6 +553,8 @@
500553 },
501554 "node_modules/@jimp/plugin-invert": {
502555 "version": "0.22.10",
556+ "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.22.10.tgz",
557+ "integrity": "sha512-d8j9BlUJYs/c994t4azUWSWmQq4LLPG4ecm8m6SSNqap+S/HlVQGqjYhJEBbY9EXkOTYB9vBL9bqwSM1Rr6paA==",
503558 "license": "MIT",
504559 "dependencies": {
505560 "@jimp/utils": "^0.22.10"
@@ -510,6 +565,8 @@
510565 },
511566 "node_modules/@jimp/plugin-mask": {
512567 "version": "0.22.10",
568+ "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.22.10.tgz",
569+ "integrity": "sha512-yRBs1230XZkz24uFTdTcSlZ0HXZpIWzM3iFQN56MzZ7USgdVZjPPDCQ8I9RpqfZ36nDflQkUO0wV7ucsi4ogow==",
513570 "license": "MIT",
514571 "dependencies": {
515572 "@jimp/utils": "^0.22.10"
@@ -520,6 +577,8 @@
520577 },
521578 "node_modules/@jimp/plugin-normalize": {
522579 "version": "0.22.10",
580+ "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.22.10.tgz",
581+ "integrity": "sha512-Wk9GX6eJMchX/ZAazVa70Fagu+OXMvHiPY+HrcEwcclL+p1wo8xAHEsf9iKno7Ja4EU9lLhbBRY5hYJyiKMEkg==",
523582 "license": "MIT",
524583 "dependencies": {
525584 "@jimp/utils": "^0.22.10"
@@ -530,6 +589,8 @@
530589 },
531590 "node_modules/@jimp/plugin-print": {
532591 "version": "0.22.10",
592+ "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.22.10.tgz",
593+ "integrity": "sha512-1U3VloIR+beE1kWPdGEJMiE2h1Do29iv3w8sBbvPyRP4qXxRFcDpmCGtctsrKmb1krlBFlj8ubyAY90xL+5n9w==",
533594 "license": "MIT",
534595 "dependencies": {
535596 "@jimp/utils": "^0.22.10",
@@ -542,6 +603,8 @@
542603 },
543604 "node_modules/@jimp/plugin-resize": {
544605 "version": "0.22.10",
606+ "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.22.10.tgz",
607+ "integrity": "sha512-ixomxVcnAONXDgaq0opvAx4UAOiEhOA/tipuhFFOvPKFd4yf1BAnEviB5maB0SBHHkJXPUSzDp/73xVTMGSe7g==",
545608 "license": "MIT",
546609 "dependencies": {
547610 "@jimp/utils": "^0.22.10"
@@ -552,6 +615,8 @@
552615 },
553616 "node_modules/@jimp/plugin-rotate": {
554617 "version": "0.22.10",
618+ "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.22.10.tgz",
619+ "integrity": "sha512-eeFX8dnRyf3LAdsdXWKWuN18hLRg8zy1cP0cP9rHzQVWRK7ck/QsLxK1vHq7MADGwQalNaNTJ9SQxH6c8mz6jw==",
555620 "license": "MIT",
556621 "dependencies": {
557622 "@jimp/utils": "^0.22.10"
@@ -565,6 +630,8 @@
565630 },
566631 "node_modules/@jimp/plugin-scale": {
567632 "version": "0.22.10",
633+ "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.22.10.tgz",
634+ "integrity": "sha512-TG/H0oUN69C9ArBCZg4PmuoixFVKIiru8282KzSB/Tp1I0xwX0XLTv3dJ5pobPlIgPcB+TmD4xAIdkCT4rtWxg==",
568635 "license": "MIT",
569636 "dependencies": {
570637 "@jimp/utils": "^0.22.10"
@@ -576,6 +643,8 @@
576643 },
577644 "node_modules/@jimp/plugin-shadow": {
578645 "version": "0.22.10",
646+ "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.22.10.tgz",
647+ "integrity": "sha512-TN9xm6fI7XfxbMUQqFPZjv59Xdpf0tSiAQdINB4g6pJMWiVANR/74OtDONoy3KKpenu5Y38s+FkrtID/KcQAhw==",
579648 "license": "MIT",
580649 "dependencies": {
581650 "@jimp/utils": "^0.22.10"
@@ -588,6 +657,8 @@
588657 },
589658 "node_modules/@jimp/plugin-threshold": {
590659 "version": "0.22.10",
660+ "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.22.10.tgz",
661+ "integrity": "sha512-DA2lSnU0TgIRbAgmXaxroYw3Ad6J2DOFEoJp0NleSm2h3GWbZEE5yW9U2B6hD3iqn4AenG4E2b2WzHXZyzSutw==",
591662 "license": "MIT",
592663 "dependencies": {
593664 "@jimp/utils": "^0.22.10"
@@ -600,6 +671,8 @@
600671 },
601672 "node_modules/@jimp/plugins": {
602673 "version": "0.22.10",
674+ "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.22.10.tgz",
675+ "integrity": "sha512-KDMZyM6pmvS8freB+UBLko1TO/k4D7URS/nphCozuH+P7i3UMe7NdckXKJ8u+WD6sqN0YFYvBehpkpnUiw/91w==",
603676 "license": "MIT",
604677 "dependencies": {
605678 "@jimp/plugin-blit": "^0.22.10",
@@ -631,6 +704,8 @@
631704 },
632705 "node_modules/@jimp/png": {
633706 "version": "0.22.10",
707+ "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.22.10.tgz",
708+ "integrity": "sha512-RYinU7tZToeeR2g2qAMn42AU+8OUHjXPKZZ9RkmoL4bguA1xyZWaSdr22/FBkmnHhOERRlr02KPDN1OTOYHLDQ==",
634709 "license": "MIT",
635710 "dependencies": {
636711 "@jimp/utils": "^0.22.10",
@@ -642,6 +717,8 @@
642717 },
643718 "node_modules/@jimp/tiff": {
644719 "version": "0.22.10",
720+ "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.22.10.tgz",
721+ "integrity": "sha512-OaivlSYzpNTHyH/h7pEtl3A7F7TbsgytZs52GLX/xITW92ffgDgT6PkldIrMrET6ERh/hdijNQiew7IoEEr2og==",
645722 "license": "MIT",
646723 "dependencies": {
647724 "utif2": "^4.0.1"
@@ -652,6 +729,8 @@
652729 },
653730 "node_modules/@jimp/types": {
654731 "version": "0.22.10",
732+ "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.22.10.tgz",
733+ "integrity": "sha512-u/r+XYzbCx4zZukDmxx8S0er3Yq3iDPI6+31WKX0N18i2qPPJYcn8qwIFurfupRumGvJ8SlGLCgt/T+Y8zzUIw==",
655734 "license": "MIT",
656735 "dependencies": {
657736 "@jimp/bmp": "^0.22.10",
@@ -667,6 +746,8 @@
667746 },
668747 "node_modules/@jimp/utils": {
669748 "version": "0.22.10",
749+ "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.22.10.tgz",
750+ "integrity": "sha512-ztlOK9Mm2iLG2AMoabzM4i3WZ/FtshcgsJCbZCRUs/DKoeS2tySRJTnQZ1b7Roq0M4Ce+FUAxnCAcBV0q7PH9w==",
670751 "license": "MIT",
671752 "dependencies": {
672753 "regenerator-runtime": "^0.13.3"
@@ -674,6 +755,8 @@
674755 },
675756 "node_modules/@kwsites/file-exists": {
676757 "version": "1.1.1",
758+ "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
759+ "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
677760 "license": "MIT",
678761 "dependencies": {
679762 "debug": "^4.1.1"
@@ -681,6 +764,8 @@
681764 },
682765 "node_modules/@kwsites/file-exists/node_modules/debug": {
683766 "version": "4.3.4",
767+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
768+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
684769 "license": "MIT",
685770 "dependencies": {
686771 "ms": "2.1.2"
@@ -696,14 +781,20 @@
696781 },
697782 "node_modules/@kwsites/file-exists/node_modules/ms": {
698783 "version": "2.1.2",
784+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
785+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
699786 "license": "MIT"
700787 },
701788 "node_modules/@kwsites/promise-deferred": {
702789 "version": "1.1.1",
790+ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
791+ "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
703792 "license": "MIT"
704793 },
705794 "node_modules/@nodelib/fs.scandir": {
706795 "version": "2.1.5",
796+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
797+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
707798 "dev": true,
708799 "license": "MIT",
709800 "dependencies": {
@@ -716,6 +807,8 @@
716807 },
717808 "node_modules/@nodelib/fs.stat": {
718809 "version": "2.0.5",
810+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
811+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
719812 "dev": true,
720813 "license": "MIT",
721814 "engines": {
@@ -724,6 +817,8 @@
724817 },
725818 "node_modules/@nodelib/fs.walk": {
726819 "version": "1.2.8",
820+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
821+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
727822 "dev": true,
728823 "license": "MIT",
729824 "dependencies": {
@@ -745,22 +840,32 @@
745840 },
746841 "node_modules/@protobufjs/aspromise": {
747842 "version": "1.1.2",
843+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
844+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
748845 "license": "BSD-3-Clause"
749846 },
750847 "node_modules/@protobufjs/base64": {
751848 "version": "1.1.2",
849+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
850+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
752851 "license": "BSD-3-Clause"
753852 },
754853 "node_modules/@protobufjs/codegen": {
755854 "version": "2.0.4",
855+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
856+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
756857 "license": "BSD-3-Clause"
757858 },
758859 "node_modules/@protobufjs/eventemitter": {
759860 "version": "1.1.0",
861+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
862+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
760863 "license": "BSD-3-Clause"
761864 },
762865 "node_modules/@protobufjs/fetch": {
763866 "version": "1.1.0",
867+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
868+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
764869 "license": "BSD-3-Clause",
765870 "dependencies": {
766871 "@protobufjs/aspromise": "^1.1.1",
@@ -769,26 +874,38 @@
769874 },
770875 "node_modules/@protobufjs/float": {
771876 "version": "1.0.2",
877+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
878+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
772879 "license": "BSD-3-Clause"
773880 },
774881 "node_modules/@protobufjs/inquire": {
775882 "version": "1.1.0",
883+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
884+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
776885 "license": "BSD-3-Clause"
777886 },
778887 "node_modules/@protobufjs/path": {
779888 "version": "1.1.2",
889+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
890+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
780891 "license": "BSD-3-Clause"
781892 },
782893 "node_modules/@protobufjs/pool": {
783894 "version": "1.1.0",
895+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
896+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
784897 "license": "BSD-3-Clause"
785898 },
786899 "node_modules/@protobufjs/utf8": {
787900 "version": "1.1.0",
901+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
902+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
788903 "license": "BSD-3-Clause"
789904 },
790905 "node_modules/@sindresorhus/is": {
791906 "version": "4.6.0",
907+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
908+ "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
792909 "license": "MIT",
793910 "engines": {
794911 "node": ">=10"
@@ -799,6 +916,8 @@
799916 },
800917 "node_modules/@szmarczak/http-timer": {
801918 "version": "4.0.6",
919+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
920+ "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
802921 "license": "MIT",
803922 "dependencies": {
804923 "defer-to-connect": "^2.0.0"
@@ -809,14 +928,20 @@
809928 },
810929 "node_modules/@thunder04/supermap": {
811930 "version": "3.0.4",
931+ "resolved": "https://registry.npmjs.org/@thunder04/supermap/-/supermap-3.0.4.tgz",
932+ "integrity": "sha512-LiPOoZ/a0L9I9+a0F3Ba4VMQIkZ4gAG0hBT9eqMWc+pjohSsYpxiMbyego+UxUk4nzh9yCHVWjYx3o6B7EGPhg==",
812933 "license": "MIT"
813934 },
814935 "node_modules/@tokenizer/token": {
815936 "version": "0.3.0",
937+ "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
938+ "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==",
816939 "license": "MIT"
817940 },
818941 "node_modules/@types/cacheable-request": {
819942 "version": "6.0.3",
943+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
944+ "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
820945 "license": "MIT",
821946 "dependencies": {
822947 "@types/http-cache-semantics": "*",
@@ -827,6 +952,8 @@
827952 },
828953 "node_modules/@types/http-cache-semantics": {
829954 "version": "4.0.2",
955+ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz",
956+ "integrity": "sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==",
830957 "license": "MIT"
831958 },
832959 "node_modules/@types/jquery": {
@@ -840,6 +967,8 @@
840967 },
841968 "node_modules/@types/keyv": {
842969 "version": "3.1.4",
970+ "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
971+ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
843972 "license": "MIT",
844973 "dependencies": {
845974 "@types/node": "*"
@@ -847,14 +976,20 @@
847976 },
848977 "node_modules/@types/long": {
849978 "version": "4.0.2",
979+ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
980+ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
850981 "license": "MIT"
851982 },
852983 "node_modules/@types/node": {
853984 "version": "16.9.1",
985+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz",
986+ "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==",
854987 "license": "MIT"
855988 },
856989 "node_modules/@types/node-fetch": {
857990 "version": "2.6.9",
991+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.9.tgz",
992+ "integrity": "sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==",
858993 "license": "MIT",
859994 "dependencies": {
860995 "@types/node": "*",
@@ -863,6 +998,8 @@
863998 },
864999 "node_modules/@types/responselike": {
8651000 "version": "1.0.1",
1001+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.1.tgz",
1002+ "integrity": "sha512-TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg==",
8661003 "license": "MIT",
8671004 "dependencies": {
8681005 "@types/node": "*"
@@ -876,6 +1013,8 @@
8761013 },
8771014 "node_modules/@ungap/structured-clone": {
8781015 "version": "1.2.0",
1016+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
1017+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
8791018 "dev": true,
8801019 "license": "ISC"
8811020 },
@@ -892,6 +1031,8 @@
8921031 },
8931032 "node_modules/abort-controller": {
8941033 "version": "3.0.0",
1034+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
1035+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
8951036 "license": "MIT",
8961037 "dependencies": {
8971038 "event-target-shim": "^5.0.0"
@@ -902,6 +1043,8 @@
9021043 },
9031044 "node_modules/accepts": {
9041045 "version": "1.3.8",
1046+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
1047+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
9051048 "license": "MIT",
9061049 "dependencies": {
9071050 "mime-types": "~2.1.34",
@@ -913,6 +1056,8 @@
9131056 },
9141057 "node_modules/acorn": {
9151058 "version": "8.11.2",
1059+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
1060+ "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
9161061 "dev": true,
9171062 "license": "MIT",
9181063 "bin": {
@@ -924,6 +1069,8 @@
9241069 },
9251070 "node_modules/acorn-jsx": {
9261071 "version": "5.3.2",
1072+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1073+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
9271074 "dev": true,
9281075 "license": "MIT",
9291076 "peerDependencies": {
@@ -932,6 +1079,8 @@
9321079 },
9331080 "node_modules/agentkeepalive": {
9341081 "version": "4.5.0",
1082+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
1083+ "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
9351084 "license": "MIT",
9361085 "dependencies": {
9371086 "humanize-ms": "^1.2.1"
@@ -942,6 +1091,8 @@
9421091 },
9431092 "node_modules/ajv": {
9441093 "version": "6.12.6",
1094+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1095+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
9451096 "dev": true,
9461097 "license": "MIT",
9471098 "dependencies": {
@@ -957,6 +1108,8 @@
9571108 },
9581109 "node_modules/ansi-regex": {
9591110 "version": "5.0.1",
1111+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1112+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
9601113 "license": "MIT",
9611114 "engines": {
9621115 "node": ">=8"
@@ -964,6 +1117,8 @@
9641117 },
9651118 "node_modules/ansi-styles": {
9661119 "version": "4.3.0",
1120+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1121+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9671122 "license": "MIT",
9681123 "dependencies": {
9691124 "color-convert": "^2.0.1"
@@ -977,10 +1132,14 @@
9771132 },
9781133 "node_modules/any-base": {
9791134 "version": "1.1.0",
1135+ "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
1136+ "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==",
9801137 "license": "MIT"
9811138 },
9821139 "node_modules/app-root-path": {
9831140 "version": "3.1.0",
1141+ "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz",
1142+ "integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==",
9841143 "license": "MIT",
9851144 "engines": {
9861145 "node": ">= 6.0.0"
@@ -988,6 +1147,8 @@
9881147 },
9891148 "node_modules/append-field": {
9901149 "version": "1.0.0",
1150+ "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
1151+ "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
9911152 "license": "MIT"
9921153 },
9931154 "node_modules/archiver": {
@@ -1207,11 +1368,15 @@
12071368 },
12081369 "node_modules/argparse": {
12091370 "version": "2.0.1",
1371+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1372+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
12101373 "dev": true,
12111374 "license": "Python-2.0"
12121375 },
12131376 "node_modules/array-flatten": {
12141377 "version": "1.1.1",
1378+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
1379+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
12151380 "license": "MIT"
12161381 },
12171382 "node_modules/async": {
@@ -1221,10 +1386,14 @@
12211386 },
12221387 "node_modules/asynckit": {
12231388 "version": "0.4.0",
1389+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1390+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
12241391 "license": "MIT"
12251392 },
12261393 "node_modules/axios": {
12271394 "version": "1.6.1",
1395+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.1.tgz",
1396+ "integrity": "sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==",
12281397 "license": "MIT",
12291398 "dependencies": {
12301399 "follow-redirects": "^1.15.0",
@@ -1239,6 +1408,8 @@
12391408 },
12401409 "node_modules/balanced-match": {
12411410 "version": "1.0.2",
1411+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1412+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
12421413 "license": "MIT"
12431414 },
12441415 "node_modules/bare-events": {
@@ -1248,10 +1419,14 @@
12481419 "optional": true
12491420 },
12501421 "node_modules/base-64": {
12511422 "version": "0.1.0",
1423+ "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
1424+ "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA=="
12521425 },
12531426 "node_modules/base64-js": {
12541427 "version": "1.5.1",
1428+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1429+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
12551430 "funding": [
12561431 {
12571432 "type": "github",
@@ -1270,6 +1445,8 @@
12701445 },
12711446 "node_modules/bing-translate-api": {
12721447 "version": "2.9.1",
1448+ "resolved": "https://registry.npmjs.org/bing-translate-api/-/bing-translate-api-2.9.1.tgz",
1449+ "integrity": "sha512-DaYqa7iupfj+fj/KeaeZSp5FUY/ZR4sZ6jqoTP0RHkYOUfo7wwoxlhYDkh4VcvBBzuVORnBEgdXBVQrfM4kk7g==",
12731450 "license": "MIT",
12741451 "dependencies": {
12751452 "got": "^11.8.6"
@@ -1277,10 +1454,14 @@
12771454 },
12781455 "node_modules/bmp-js": {
12791456 "version": "0.1.0",
1457+ "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz",
1458+ "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==",
12801459 "license": "MIT"
12811460 },
12821461 "node_modules/body-parser": {
12831462 "version": "1.20.2",
1463+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
1464+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
12841465 "license": "MIT",
12851466 "dependencies": {
12861467 "bytes": "3.1.2",
@@ -1303,6 +1484,8 @@
13031484 },
13041485 "node_modules/body-parser/node_modules/bytes": {
13051486 "version": "3.1.2",
1487+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
1488+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
13061489 "license": "MIT",
13071490 "engines": {
13081491 "node": ">= 0.8"
@@ -1310,10 +1493,14 @@
13101493 },
13111494 "node_modules/boolbase": {
13121495 "version": "1.0.0",
1496+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
1497+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
13131498 "license": "ISC"
13141499 },
13151500 "node_modules/brace-expansion": {
13161501 "version": "1.1.11",
1502+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1503+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
13171504 "dev": true,
13181505 "license": "MIT",
13191506 "dependencies": {
@@ -1323,6 +1510,8 @@
13231510 },
13241511 "node_modules/buffer": {
13251512 "version": "5.7.1",
1513+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
1514+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
13261515 "funding": [
13271516 {
13281517 "type": "github",
@@ -1345,6 +1534,8 @@
13451534 },
13461535 "node_modules/buffer-crc32": {
13471536 "version": "0.2.13",
1537+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
1538+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
13481539 "license": "MIT",
13491540 "engines": {
13501541 "node": "*"
@@ -1352,6 +1543,8 @@
13521543 },
13531544 "node_modules/buffer-equal": {
13541545 "version": "0.0.1",
1546+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
1547+ "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==",
13551548 "license": "MIT",
13561549 "engines": {
13571550 "node": ">=0.4.0"
@@ -1359,10 +1552,14 @@
13591552 },
13601553 "node_modules/buffer-from": {
13611554 "version": "1.1.2",
1555+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1556+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
13621557 "license": "MIT"
13631558 },
13641559 "node_modules/busboy": {
13651560 "version": "1.6.0",
1561+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
1562+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
13661563 "dependencies": {
13671564 "streamsearch": "^1.1.0"
13681565 },
@@ -1372,6 +1569,8 @@
13721569 },
13731570 "node_modules/bytes": {
13741571 "version": "3.0.0",
1572+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
1573+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
13751574 "license": "MIT",
13761575 "engines": {
13771576 "node": ">= 0.8"
@@ -1379,6 +1578,8 @@
13791578 },
13801579 "node_modules/cacheable-lookup": {
13811580 "version": "5.0.4",
1581+ "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
1582+ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
13821583 "license": "MIT",
13831584 "engines": {
13841585 "node": ">=10.6.0"
@@ -1386,6 +1587,8 @@
13861587 },
13871588 "node_modules/cacheable-request": {
13881589 "version": "7.0.4",
1590+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
1591+ "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
13891592 "license": "MIT",
13901593 "dependencies": {
13911594 "clone-response": "^1.0.2",
@@ -1402,6 +1605,8 @@
14021605 },
14031606 "node_modules/call-bind": {
14041607 "version": "1.0.2",
1608+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
1609+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
14051610 "license": "MIT",
14061611 "dependencies": {
14071612 "function-bind": "^1.1.1",
@@ -1413,6 +1618,8 @@
14131618 },
14141619 "node_modules/callsites": {
14151620 "version": "3.1.0",
1621+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1622+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
14161623 "dev": true,
14171624 "license": "MIT",
14181625 "engines": {
@@ -1429,6 +1636,8 @@
14291636 },
14301637 "node_modules/chalk": {
14311638 "version": "4.1.2",
1639+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1640+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
14321641 "dev": true,
14331642 "license": "MIT",
14341643 "dependencies": {
@@ -1444,6 +1653,8 @@
14441653 },
14451654 "node_modules/charenc": {
14461655 "version": "0.0.2",
1656+ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
1657+ "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
14471658 "license": "BSD-3-Clause",
14481659 "engines": {
14491660 "node": "*"
@@ -1451,6 +1662,8 @@
14511662 },
14521663 "node_modules/cheerio": {
14531664 "version": "1.0.0-rc.12",
1665+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
1666+ "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
14541667 "license": "MIT",
14551668 "dependencies": {
14561669 "cheerio-select": "^2.1.0",
@@ -1470,6 +1683,8 @@
14701683 },
14711684 "node_modules/cheerio-select": {
14721685 "version": "2.1.0",
1686+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
1687+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
14731688 "license": "BSD-2-Clause",
14741689 "dependencies": {
14751690 "boolbase": "^1.0.0",
@@ -1485,6 +1700,8 @@
14851700 },
14861701 "node_modules/cliui": {
14871702 "version": "8.0.1",
1703+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
1704+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
14881705 "license": "ISC",
14891706 "dependencies": {
14901707 "string-width": "^4.2.0",
@@ -1497,6 +1714,8 @@
14971714 },
14981715 "node_modules/clone-response": {
14991716 "version": "1.0.3",
1717+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
1718+ "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
15001719 "license": "MIT",
15011720 "dependencies": {
15021721 "mimic-response": "^1.0.0"
@@ -1507,6 +1726,8 @@
15071726 },
15081727 "node_modules/clone-response/node_modules/mimic-response": {
15091728 "version": "1.0.1",
1729+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
1730+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
15101731 "license": "MIT",
15111732 "engines": {
15121733 "node": ">=4"
@@ -1514,6 +1735,8 @@
15141735 },
15151736 "node_modules/color-convert": {
15161737 "version": "2.0.1",
1738+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1739+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
15171740 "license": "MIT",
15181741 "dependencies": {
15191742 "color-name": "~1.1.4"
@@ -1524,10 +1747,14 @@
15241747 },
15251748 "node_modules/color-name": {
15261749 "version": "1.1.4",
1750+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1751+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
15271752 "license": "MIT"
15281753 },
15291754 "node_modules/combined-stream": {
15301755 "version": "1.0.8",
1756+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
1757+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
15311758 "license": "MIT",
15321759 "dependencies": {
15331760 "delayed-stream": "~1.0.0"
@@ -1538,6 +1765,8 @@
15381765 },
15391766 "node_modules/command-exists": {
15401767 "version": "1.2.9",
1768+ "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
1769+ "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==",
15411770 "license": "MIT"
15421771 },
15431772 "node_modules/compress-commons": {
@@ -1633,6 +1862,8 @@
16331862 },
16341863 "node_modules/compressible": {
16351864 "version": "2.0.18",
1865+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
1866+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
16361867 "license": "MIT",
16371868 "dependencies": {
16381869 "mime-db": ">= 1.43.0 < 2"
@@ -1643,6 +1874,8 @@
16431874 },
16441875 "node_modules/compression": {
16451876 "version": "1.7.4",
1877+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
1878+ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
16461879 "license": "MIT",
16471880 "dependencies": {
16481881 "accepts": "~1.3.5",
@@ -1659,11 +1892,15 @@
16591892 },
16601893 "node_modules/concat-map": {
16611894 "version": "0.0.1",
1895+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1896+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
16621897 "dev": true,
16631898 "license": "MIT"
16641899 },
16651900 "node_modules/concat-stream": {
16661901 "version": "1.6.2",
1902+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
1903+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
16671904 "engines": [
16681905 "node >= 0.8"
16691906 ],
@@ -1677,6 +1914,8 @@
16771914 },
16781915 "node_modules/content-disposition": {
16791916 "version": "0.5.4",
1917+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
1918+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
16801919 "license": "MIT",
16811920 "dependencies": {
16821921 "safe-buffer": "5.2.1"
@@ -1687,6 +1926,8 @@
16871926 },
16881927 "node_modules/content-disposition/node_modules/safe-buffer": {
16891928 "version": "5.2.1",
1929+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1930+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
16901931 "funding": [
16911932 {
16921933 "type": "github",
@@ -1705,6 +1946,8 @@
17051946 },
17061947 "node_modules/content-type": {
17071948 "version": "1.0.5",
1949+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
1950+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
17081951 "license": "MIT",
17091952 "engines": {
17101953 "node": ">= 0.6"
@@ -1712,6 +1955,8 @@
17121955 },
17131956 "node_modules/cookie": {
17141957 "version": "0.4.1",
1958+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
1959+ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
17151960 "license": "MIT",
17161961 "engines": {
17171962 "node": ">= 0.6"
@@ -1719,6 +1964,8 @@
17191964 },
17201965 "node_modules/cookie-parser": {
17211966 "version": "1.4.6",
1967+ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz",
1968+ "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==",
17221969 "license": "MIT",
17231970 "dependencies": {
17241971 "cookie": "0.4.1",
@@ -1776,6 +2023,8 @@
17762023 },
17772024 "node_modules/cookie-signature": {
17782025 "version": "1.0.6",
2026+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
2027+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
17792028 "license": "MIT"
17802029 },
17812030 "node_modules/cookies": {
@@ -1792,10 +2041,14 @@
17922041 },
17932042 "node_modules/core-util-is": {
17942043 "version": "1.0.3",
2044+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
2045+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
17952046 "license": "MIT"
17962047 },
17972048 "node_modules/cors": {
17982049 "version": "2.8.5",
2050+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
2051+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
17992052 "license": "MIT",
18002053 "dependencies": {
18012054 "object-assign": "^4",
@@ -1807,6 +2060,8 @@
18072060 },
18082061 "node_modules/crc-32": {
18092062 "version": "0.3.0",
2063+ "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-0.3.0.tgz",
2064+ "integrity": "sha512-kucVIjOmMc1f0tv53BJ/5WIX+MGLcKuoBhnGqQrgKJNqLByb/sVMWfW/Aw6hw0jgcqjJ2pi9E5y32zOIpaUlsA==",
18102065 "license": "Apache-2.0",
18112066 "engines": {
18122067 "node": ">=0.8"
@@ -1902,6 +2157,8 @@
19022157 },
19032158 "node_modules/cross-spawn": {
19042159 "version": "7.0.3",
2160+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2161+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
19052162 "license": "MIT",
19062163 "dependencies": {
19072164 "path-key": "^3.1.0",
@@ -1914,6 +2171,8 @@
19142171 },
19152172 "node_modules/crypt": {
19162173 "version": "0.0.2",
2174+ "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
2175+ "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
19172176 "license": "BSD-3-Clause",
19182177 "engines": {
19192178 "node": "*"
@@ -1921,6 +2180,8 @@
19212180 },
19222181 "node_modules/csrf-csrf": {
19232182 "version": "2.2.4",
2183+ "resolved": "https://registry.npmjs.org/csrf-csrf/-/csrf-csrf-2.2.4.tgz",
2184+ "integrity": "sha512-LuhBmy5RfRmEfeqeYqgaAuS1eDpVtKZB/Eiec9xiKQLBynJxrGVRdM2yRT/YMl1Njo/yKh2L9AYsIwSlTPnx2A==",
19242185 "license": "ISC",
19252186 "dependencies": {
19262187 "http-errors": "^2.0.0"
@@ -1928,6 +2189,8 @@
19282189 },
19292190 "node_modules/css-select": {
19302191 "version": "5.1.0",
2192+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
2193+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
19312194 "license": "BSD-2-Clause",
19322195 "dependencies": {
19332196 "boolbase": "^1.0.0",
@@ -1942,6 +2205,8 @@
19422205 },
19432206 "node_modules/css-what": {
19442207 "version": "6.1.0",
2208+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
2209+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
19452210 "license": "BSD-2-Clause",
19462211 "engines": {
19472212 "node": ">= 6"
@@ -1952,6 +2217,8 @@
19522217 },
19532218 "node_modules/debug": {
19542219 "version": "2.6.9",
2220+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
2221+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
19552222 "license": "MIT",
19562223 "dependencies": {
19572224 "ms": "2.0.0"
@@ -1959,6 +2226,8 @@
19592226 },
19602227 "node_modules/decompress-response": {
19612228 "version": "6.0.0",
2229+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
2230+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
19622231 "license": "MIT",
19632232 "dependencies": {
19642233 "mimic-response": "^3.1.0"
@@ -1972,11 +2241,15 @@
19722241 },
19732242 "node_modules/deep-is": {
19742243 "version": "0.1.4",
2244+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
2245+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
19752246 "dev": true,
19762247 "license": "MIT"
19772248 },
19782249 "node_modules/defer-to-connect": {
19792250 "version": "2.0.1",
2251+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
2252+ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
19802253 "license": "MIT",
19812254 "engines": {
19822255 "node": ">=10"
@@ -1984,6 +2257,8 @@
19842257 },
19852258 "node_modules/define-lazy-prop": {
19862259 "version": "2.0.0",
2260+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
2261+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
19872262 "license": "MIT",
19882263 "engines": {
19892264 "node": ">=8"
@@ -1991,6 +2266,8 @@
19912266 },
19922267 "node_modules/delayed-stream": {
19932268 "version": "1.0.0",
2269+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
2270+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
19942271 "license": "MIT",
19952272 "engines": {
19962273 "node": ">=0.4.0"
@@ -1998,6 +2275,8 @@
19982275 },
19992276 "node_modules/depd": {
20002277 "version": "2.0.0",
2278+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
2279+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
20012280 "license": "MIT",
20022281 "engines": {
20032282 "node": ">= 0.8"
@@ -2005,6 +2284,8 @@
20052284 },
20062285 "node_modules/destroy": {
20072286 "version": "1.2.0",
2287+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
2288+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
20082289 "license": "MIT",
20092290 "engines": {
20102291 "node": ">= 0.8",
@@ -2013,6 +2294,8 @@
20132294 },
20142295 "node_modules/digest-fetch": {
20152296 "version": "1.3.0",
2297+ "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz",
2298+ "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==",
20162299 "license": "ISC",
20172300 "dependencies": {
20182301 "base-64": "^0.1.0",
@@ -2021,6 +2304,8 @@
20212304 },
20222305 "node_modules/doctrine": {
20232306 "version": "3.0.0",
2307+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
2308+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
20242309 "dev": true,
20252310 "license": "Apache-2.0",
20262311 "dependencies": {
@@ -2032,6 +2317,8 @@
20322317 },
20332318 "node_modules/dom-serializer": {
20342319 "version": "2.0.0",
2320+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
2321+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
20352322 "license": "MIT",
20362323 "dependencies": {
20372324 "domelementtype": "^2.3.0",
@@ -2043,10 +2330,14 @@
20432330 }
20442331 },
20452332 "node_modules/dom-walk": {
20462333 "version": "0.1.2",
2334+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
2335+ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
20472336 },
20482337 "node_modules/domelementtype": {
20492338 "version": "2.3.0",
2339+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
2340+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
20502341 "funding": [
20512342 {
20522343 "type": "github",
@@ -2057,6 +2348,8 @@
20572348 },
20582349 "node_modules/domhandler": {
20592350 "version": "5.0.3",
2351+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
2352+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
20602353 "license": "BSD-2-Clause",
20612354 "dependencies": {
20622355 "domelementtype": "^2.3.0"
@@ -2070,6 +2363,8 @@
20702363 },
20712364 "node_modules/domutils": {
20722365 "version": "3.1.0",
2366+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
2367+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
20732368 "license": "BSD-2-Clause",
20742369 "dependencies": {
20752370 "dom-serializer": "^2.0.0",
@@ -2082,6 +2377,8 @@
20822377 },
20832378 "node_modules/dotenv": {
20842379 "version": "8.6.0",
2380+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
2381+ "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
20852382 "license": "BSD-2-Clause",
20862383 "engines": {
20872384 "node": ">=10"
@@ -2094,14 +2391,20 @@
20942391 },
20952392 "node_modules/ee-first": {
20962393 "version": "1.1.1",
2394+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
2395+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
20972396 "license": "MIT"
20982397 },
20992398 "node_modules/emoji-regex": {
21002399 "version": "8.0.0",
2400+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2401+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
21012402 "license": "MIT"
21022403 },
21032404 "node_modules/encodeurl": {
21042405 "version": "1.0.2",
2406+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
2407+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
21052408 "license": "MIT",
21062409 "engines": {
21072410 "node": ">= 0.8"
@@ -2109,6 +2412,8 @@
21092412 },
21102413 "node_modules/end-of-stream": {
21112414 "version": "1.4.4",
2415+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
2416+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
21122417 "license": "MIT",
21132418 "dependencies": {
21142419 "once": "^1.4.0"
@@ -2116,6 +2421,8 @@
21162421 },
21172422 "node_modules/entities": {
21182423 "version": "4.5.0",
2424+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
2425+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
21192426 "license": "BSD-2-Clause",
21202427 "engines": {
21212428 "node": ">=0.12"
@@ -2125,7 +2432,9 @@
21252432 }
21262433 },
21272434 "node_modules/escalade": {
21282435 "version": "3.1.12",
2436+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
2437+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
21292438 "license": "MIT",
21302439 "engines": {
21312440 "node": ">=6"
@@ -2133,10 +2442,14 @@
21332442 },
21342443 "node_modules/escape-html": {
21352444 "version": "1.0.3",
2445+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
2446+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
21362447 "license": "MIT"
21372448 },
21382449 "node_modules/escape-string-regexp": {
21392450 "version": "1.0.5",
2451+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2452+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
21402453 "license": "MIT",
21412454 "engines": {
21422455 "node": ">=0.8.0"
@@ -2144,6 +2457,8 @@
21442457 },
21452458 "node_modules/eslint": {
21462459 "version": "8.55.0",
2460+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz",
2461+ "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==",
21472462 "dev": true,
21482463 "license": "MIT",
21492464 "dependencies": {
@@ -2198,6 +2513,8 @@
21982513 },
21992514 "node_modules/eslint-scope": {
22002515 "version": "7.2.2",
2516+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
2517+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
22012518 "dev": true,
22022519 "license": "BSD-2-Clause",
22032520 "dependencies": {
@@ -2213,6 +2530,8 @@
22132530 },
22142531 "node_modules/eslint-visitor-keys": {
22152532 "version": "3.4.3",
2533+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
2534+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
22162535 "dev": true,
22172536 "license": "Apache-2.0",
22182537 "engines": {
@@ -2224,6 +2543,8 @@
22242543 },
22252544 "node_modules/eslint/node_modules/debug": {
22262545 "version": "4.3.4",
2546+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
2547+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
22272548 "dev": true,
22282549 "license": "MIT",
22292550 "dependencies": {
@@ -2240,6 +2561,8 @@
22402561 },
22412562 "node_modules/eslint/node_modules/escape-string-regexp": {
22422563 "version": "4.0.0",
2564+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
2565+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
22432566 "dev": true,
22442567 "license": "MIT",
22452568 "engines": {
@@ -2251,6 +2574,8 @@
22512574 },
22522575 "node_modules/eslint/node_modules/glob-parent": {
22532576 "version": "6.0.2",
2577+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
2578+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
22542579 "dev": true,
22552580 "license": "ISC",
22562581 "dependencies": {
@@ -2262,11 +2587,15 @@
22622587 },
22632588 "node_modules/eslint/node_modules/ms": {
22642589 "version": "2.1.2",
2590+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2591+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
22652592 "dev": true,
22662593 "license": "MIT"
22672594 },
22682595 "node_modules/espree": {
22692596 "version": "9.6.1",
2597+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
2598+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
22702599 "dev": true,
22712600 "license": "BSD-2-Clause",
22722601 "dependencies": {
@@ -2283,6 +2612,8 @@
22832612 },
22842613 "node_modules/esquery": {
22852614 "version": "1.5.0",
2615+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
2616+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
22862617 "dev": true,
22872618 "license": "BSD-3-Clause",
22882619 "dependencies": {
@@ -2294,6 +2625,8 @@
22942625 },
22952626 "node_modules/esrecurse": {
22962627 "version": "4.3.0",
2628+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
2629+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
22972630 "dev": true,
22982631 "license": "BSD-2-Clause",
22992632 "dependencies": {
@@ -2305,6 +2638,8 @@
23052638 },
23062639 "node_modules/estraverse": {
23072640 "version": "5.3.0",
2641+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
2642+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
23082643 "dev": true,
23092644 "license": "BSD-2-Clause",
23102645 "engines": {
@@ -2313,6 +2648,8 @@
23132648 },
23142649 "node_modules/esutils": {
23152650 "version": "2.0.3",
2651+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
2652+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
23162653 "dev": true,
23172654 "license": "BSD-2-Clause",
23182655 "engines": {
@@ -2321,6 +2658,8 @@
23212658 },
23222659 "node_modules/etag": {
23232660 "version": "1.8.1",
2661+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
2662+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
23242663 "license": "MIT",
23252664 "engines": {
23262665 "node": ">= 0.6"
@@ -2328,6 +2667,8 @@
23282667 },
23292668 "node_modules/event-target-shim": {
23302669 "version": "5.0.1",
2670+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
2671+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
23312672 "license": "MIT",
23322673 "engines": {
23332674 "node": ">=6"
@@ -2342,7 +2683,9 @@
23422683 }
23432684 },
23442685 "node_modules/exif-parser": {
23452686 "version": "0.1.12",
2687+ "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
2688+ "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw=="
23462689 },
23472690 "node_modules/express": {
23482691 "version": "4.19.2",
@@ -2395,6 +2738,8 @@
23952738 },
23962739 "node_modules/express/node_modules/safe-buffer": {
23972740 "version": "5.2.1",
2741+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2742+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
23982743 "funding": [
23992744 {
24002745 "type": "github",
@@ -2413,6 +2758,8 @@
24132758 },
24142759 "node_modules/fast-deep-equal": {
24152760 "version": "3.1.3",
2761+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2762+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
24162763 "dev": true,
24172764 "license": "MIT"
24182765 },
@@ -2423,16 +2770,22 @@
24232770 },
24242771 "node_modules/fast-json-stable-stringify": {
24252772 "version": "2.1.0",
2773+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2774+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
24262775 "dev": true,
24272776 "license": "MIT"
24282777 },
24292778 "node_modules/fast-levenshtein": {
24302779 "version": "2.0.6",
2780+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2781+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
24312782 "dev": true,
24322783 "license": "MIT"
24332784 },
24342785 "node_modules/fastq": {
24352786 "version": "1.15.0",
2787+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
2788+ "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
24362789 "dev": true,
24372790 "license": "ISC",
24382791 "dependencies": {
@@ -2441,6 +2794,8 @@
24412794 },
24422795 "node_modules/fd-slicer": {
24432796 "version": "1.1.0",
2797+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
2798+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
24442799 "license": "MIT",
24452800 "dependencies": {
24462801 "pend": "~1.2.0"
@@ -2448,6 +2803,8 @@
24482803 },
24492804 "node_modules/file-entry-cache": {
24502805 "version": "6.0.1",
2806+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
2807+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
24512808 "dev": true,
24522809 "license": "MIT",
24532810 "dependencies": {
@@ -2459,6 +2816,8 @@
24592816 },
24602817 "node_modules/file-type": {
24612818 "version": "16.5.4",
2819+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz",
2820+ "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==",
24622821 "license": "MIT",
24632822 "dependencies": {
24642823 "readable-web-to-node-stream": "^3.0.0",
@@ -2474,6 +2833,8 @@
24742833 },
24752834 "node_modules/finalhandler": {
24762835 "version": "1.2.0",
2836+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
2837+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
24772838 "license": "MIT",
24782839 "dependencies": {
24792840 "debug": "2.6.9",
@@ -2490,6 +2851,8 @@
24902851 },
24912852 "node_modules/find-up": {
24922853 "version": "5.0.0",
2854+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
2855+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
24932856 "dev": true,
24942857 "license": "MIT",
24952858 "dependencies": {
@@ -2505,6 +2868,8 @@
25052868 },
25062869 "node_modules/flat-cache": {
25072870 "version": "3.2.0",
2871+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
2872+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
25082873 "dev": true,
25092874 "license": "MIT",
25102875 "dependencies": {
@@ -2518,10 +2883,14 @@
25182883 },
25192884 "node_modules/flatbuffers": {
25202885 "version": "1.12.0",
2886+ "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-1.12.0.tgz",
2887+ "integrity": "sha512-c7CZADjRcl6j0PlvFy0ZqXQ67qSEZfrVPynmnL+2zPc+NtMvrF8Y0QceMo7QqnSPc7+uWjUIAbvCQ5WIKlMVdQ==",
25212888 "license": "SEE LICENSE IN LICENSE.txt"
25222889 },
25232890 "node_modules/flatted": {
25242891 "version": "3.2.9",
2892+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
2893+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
25252894 "dev": true,
25262895 "license": "ISC"
25272896 },
@@ -2561,6 +2930,8 @@
25612930 },
25622931 "node_modules/form-data": {
25632932 "version": "4.0.0",
2933+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
2934+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
25642935 "license": "MIT",
25652936 "dependencies": {
25662937 "asynckit": "^0.4.0",
@@ -2573,10 +2944,14 @@
25732944 },
25742945 "node_modules/form-data-encoder": {
25752946 "version": "1.7.2",
2947+ "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz",
2948+ "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==",
25762949 "license": "MIT"
25772950 },
25782951 "node_modules/formdata-node": {
25792952 "version": "4.4.1",
2953+ "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz",
2954+ "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==",
25802955 "license": "MIT",
25812956 "dependencies": {
25822957 "node-domexception": "1.0.0",
@@ -2588,6 +2963,8 @@
25882963 },
25892964 "node_modules/formdata-node/node_modules/web-streams-polyfill": {
25902965 "version": "4.0.0-beta.3",
2966+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
2967+ "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
25912968 "license": "MIT",
25922969 "engines": {
25932970 "node": ">= 14"
@@ -2595,6 +2972,8 @@
25952972 },
25962973 "node_modules/forwarded": {
25972974 "version": "0.2.0",
2975+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
2976+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
25982977 "license": "MIT",
25992978 "engines": {
26002979 "node": ">= 0.6"
@@ -2602,6 +2981,8 @@
26022981 },
26032982 "node_modules/fresh": {
26042983 "version": "0.5.2",
2984+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
2985+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
26052986 "license": "MIT",
26062987 "engines": {
26072988 "node": ">= 0.6"
@@ -2609,15 +2990,24 @@
26092990 },
26102991 "node_modules/fs.realpath": {
26112992 "version": "1.0.0",
2993+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2994+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
26122995 "dev": true,
26132996 "license": "ISC"
26142997 },
26152998 "node_modules/function-bind": {
26162999 "version": "1.1.12",
2617- "license": "MIT"
3000+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
3001+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
3002+ "license": "MIT",
3003+ "funding": {
3004+ "url": "https://github.com/sponsors/ljharb"
3005+ }
26183006 },
26193007 "node_modules/get-caller-file": {
26203008 "version": "2.0.5",
3009+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
3010+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
26213011 "license": "ISC",
26223012 "engines": {
26233013 "node": "6.* || 8.* || >= 10.*"
@@ -2625,6 +3015,8 @@
26253015 },
26263016 "node_modules/get-intrinsic": {
26273017 "version": "1.2.1",
3018+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
3019+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
26283020 "license": "MIT",
26293021 "dependencies": {
26303022 "function-bind": "^1.1.1",
@@ -2638,6 +3030,8 @@
26383030 },
26393031 "node_modules/get-stream": {
26403032 "version": "5.2.0",
3033+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
3034+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
26413035 "license": "MIT",
26423036 "dependencies": {
26433037 "pump": "^3.0.0"
@@ -2651,6 +3045,8 @@
26513045 },
26523046 "node_modules/gifwrap": {
26533047 "version": "0.10.1",
3048+ "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz",
3049+ "integrity": "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==",
26543050 "license": "MIT",
26553051 "dependencies": {
26563052 "image-q": "^4.0.0",
@@ -2659,6 +3055,8 @@
26593055 },
26603056 "node_modules/glob": {
26613057 "version": "7.2.3",
3058+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
3059+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
26623060 "dev": true,
26633061 "license": "ISC",
26643062 "dependencies": {
@@ -2678,6 +3076,8 @@
26783076 },
26793077 "node_modules/global": {
26803078 "version": "4.4.0",
3079+ "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
3080+ "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
26813081 "license": "MIT",
26823082 "dependencies": {
26833083 "min-document": "^2.19.0",
@@ -2686,6 +3086,8 @@
26863086 },
26873087 "node_modules/globals": {
26883088 "version": "13.23.0",
3089+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
3090+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
26893091 "dev": true,
26903092 "license": "MIT",
26913093 "dependencies": {
@@ -2700,10 +3102,14 @@
27003102 },
27013103 "node_modules/google-translate-api-browser": {
27023104 "version": "3.0.1",
3105+ "resolved": "https://registry.npmjs.org/google-translate-api-browser/-/google-translate-api-browser-3.0.1.tgz",
3106+ "integrity": "sha512-KTLodkyGBWMK9IW6QIeJ2zCuju4Z0CLpbkADKo+yLhbSTD4l+CXXpQ/xaynGVAzeBezzJG6qn8MLeqOq3SmW0A==",
27033107 "license": "MIT"
27043108 },
27053109 "node_modules/got": {
27063110 "version": "11.8.6",
3111+ "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
3112+ "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
27073113 "license": "MIT",
27083114 "dependencies": {
27093115 "@sindresorhus/is": "^4.0.0",
@@ -2727,6 +3133,8 @@
27273133 },
27283134 "node_modules/gpt-3-encoder": {
27293135 "version": "1.1.4",
3136+ "resolved": "https://registry.npmjs.org/gpt-3-encoder/-/gpt-3-encoder-1.1.4.tgz",
3137+ "integrity": "sha512-fSQRePV+HUAhCn7+7HL7lNIXNm6eaFWFbNLOOGtmSJ0qJycyQvj60OvRlH7mee8xAMjBDNRdMXlMwjAbMTDjkg==",
27303138 "license": "MIT"
27313139 },
27323140 "node_modules/graceful-fs": {
@@ -2736,15 +3144,21 @@
27363144 },
27373145 "node_modules/graphemer": {
27383146 "version": "1.4.0",
3147+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
3148+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
27393149 "dev": true,
27403150 "license": "MIT"
27413151 },
27423152 "node_modules/guid-typescript": {
27433153 "version": "1.0.9",
3154+ "resolved": "https://registry.npmjs.org/guid-typescript/-/guid-typescript-1.0.9.tgz",
3155+ "integrity": "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==",
27443156 "license": "ISC"
27453157 },
27463158 "node_modules/has": {
27473159 "version": "1.0.3",
3160+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
3161+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
27483162 "license": "MIT",
27493163 "dependencies": {
27503164 "function-bind": "^1.1.1"
@@ -2755,6 +3169,8 @@
27553169 },
27563170 "node_modules/has-flag": {
27573171 "version": "4.0.0",
3172+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
3173+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
27583174 "dev": true,
27593175 "license": "MIT",
27603176 "engines": {
@@ -2763,6 +3179,8 @@
27633179 },
27643180 "node_modules/has-proto": {
27653181 "version": "1.0.1",
3182+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
3183+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
27663184 "license": "MIT",
27673185 "engines": {
27683186 "node": ">= 0.4"
@@ -2773,6 +3191,8 @@
27733191 },
27743192 "node_modules/has-symbols": {
27753193 "version": "1.0.3",
3194+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
3195+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
27763196 "license": "MIT",
27773197 "engines": {
27783198 "node": ">= 0.4"
@@ -2799,6 +3219,8 @@
27993219 },
28003220 "node_modules/htmlparser2": {
28013221 "version": "8.0.2",
3222+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
3223+ "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
28023224 "funding": [
28033225 "https://github.com/fb55/htmlparser2?sponsor=1",
28043226 {
@@ -2816,10 +3238,14 @@
28163238 },
28173239 "node_modules/http-cache-semantics": {
28183240 "version": "4.1.1",
3241+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
3242+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
28193243 "license": "BSD-2-Clause"
28203244 },
28213245 "node_modules/http-errors": {
28223246 "version": "2.0.0",
3247+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
3248+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
28233249 "license": "MIT",
28243250 "dependencies": {
28253251 "depd": "2.0.0",
@@ -2834,6 +3260,8 @@
28343260 },
28353261 "node_modules/http2-wrapper": {
28363262 "version": "1.0.3",
3263+ "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
3264+ "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
28373265 "license": "MIT",
28383266 "dependencies": {
28393267 "quick-lru": "^5.1.1",
@@ -2845,6 +3273,8 @@
28453273 },
28463274 "node_modules/humanize-ms": {
28473275 "version": "1.2.1",
3276+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
3277+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
28483278 "license": "MIT",
28493279 "dependencies": {
28503280 "ms": "^2.0.0"
@@ -2852,6 +3282,8 @@
28523282 },
28533283 "node_modules/iconv-lite": {
28543284 "version": "0.4.24",
3285+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
3286+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
28553287 "license": "MIT",
28563288 "dependencies": {
28573289 "safer-buffer": ">= 2.1.2 < 3"
@@ -2862,6 +3294,8 @@
28623294 },
28633295 "node_modules/ieee754": {
28643296 "version": "1.2.1",
3297+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
3298+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
28653299 "funding": [
28663300 {
28673301 "type": "github",
@@ -2880,6 +3314,8 @@
28803314 },
28813315 "node_modules/ignore": {
28823316 "version": "5.2.4",
3317+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
3318+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
28833319 "dev": true,
28843320 "license": "MIT",
28853321 "engines": {
@@ -2888,6 +3324,8 @@
28883324 },
28893325 "node_modules/image-q": {
28903326 "version": "4.0.0",
3327+ "resolved": "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz",
3328+ "integrity": "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==",
28913329 "license": "MIT",
28923330 "dependencies": {
28933331 "@types/node": "16.9.1"
@@ -2895,6 +3333,8 @@
28953333 },
28963334 "node_modules/import-fresh": {
28973335 "version": "3.3.0",
3336+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
3337+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
28983338 "dev": true,
28993339 "license": "MIT",
29003340 "dependencies": {
@@ -2910,6 +3350,8 @@
29103350 },
29113351 "node_modules/imurmurhash": {
29123352 "version": "0.1.4",
3353+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
3354+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
29133355 "license": "MIT",
29143356 "engines": {
29153357 "node": ">=0.8.19"
@@ -2917,6 +3359,8 @@
29173359 },
29183360 "node_modules/inflight": {
29193361 "version": "1.0.6",
3362+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
3363+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
29203364 "dev": true,
29213365 "license": "ISC",
29223366 "dependencies": {
@@ -2926,14 +3370,20 @@
29263370 },
29273371 "node_modules/inherits": {
29283372 "version": "2.0.4",
3373+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
3374+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
29293375 "license": "ISC"
29303376 },
29313377 "node_modules/ip-matching": {
29323378 "version": "2.1.2",
3379+ "resolved": "https://registry.npmjs.org/ip-matching/-/ip-matching-2.1.2.tgz",
3380+ "integrity": "sha512-/ok+VhKMasgR5gvTRViwRFQfc0qYt9Vdowg6TO4/pFlDCob5ZjGPkwuOoQVCd5OrMm20zqh+1vA8KLJZTeWudg==",
29333381 "license": "LGPL-3.0-only"
29343382 },
29353383 "node_modules/ipaddr.js": {
29363384 "version": "2.1.0",
3385+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
3386+ "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==",
29373387 "license": "MIT",
29383388 "engines": {
29393389 "node": ">= 10"
@@ -2941,10 +3391,14 @@
29413391 },
29423392 "node_modules/is-buffer": {
29433393 "version": "1.1.6",
3394+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
3395+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
29443396 "license": "MIT"
29453397 },
29463398 "node_modules/is-docker": {
29473399 "version": "2.2.1",
3400+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
3401+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
29483402 "license": "MIT",
29493403 "bin": {
29503404 "is-docker": "cli.js"
@@ -2958,6 +3412,8 @@
29583412 },
29593413 "node_modules/is-extglob": {
29603414 "version": "2.1.1",
3415+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
3416+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
29613417 "dev": true,
29623418 "license": "MIT",
29633419 "engines": {
@@ -2966,6 +3422,8 @@
29663422 },
29673423 "node_modules/is-fullwidth-code-point": {
29683424 "version": "3.0.0",
3425+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
3426+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
29693427 "license": "MIT",
29703428 "engines": {
29713429 "node": ">=8"
@@ -2973,10 +3431,14 @@
29733431 },
29743432 "node_modules/is-function": {
29753433 "version": "1.0.2",
3434+ "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
3435+ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==",
29763436 "license": "MIT"
29773437 },
29783438 "node_modules/is-glob": {
29793439 "version": "4.0.3",
3440+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
3441+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
29803442 "dev": true,
29813443 "license": "MIT",
29823444 "dependencies": {
@@ -2988,6 +3450,8 @@
29883450 },
29893451 "node_modules/is-path-inside": {
29903452 "version": "3.0.3",
3453+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
3454+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
29913455 "dev": true,
29923456 "license": "MIT",
29933457 "engines": {
@@ -3007,6 +3471,8 @@
30073471 },
30083472 "node_modules/is-wsl": {
30093473 "version": "2.2.0",
3474+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
3475+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
30103476 "license": "MIT",
30113477 "dependencies": {
30123478 "is-docker": "^2.0.0"
@@ -3017,14 +3483,20 @@
30173483 },
30183484 "node_modules/isarray": {
30193485 "version": "1.0.0",
3486+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3487+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
30203488 "license": "MIT"
30213489 },
30223490 "node_modules/isexe": {
30233491 "version": "2.0.0",
3492+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3493+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
30243494 "license": "ISC"
30253495 },
30263496 "node_modules/isomorphic-fetch": {
30273497 "version": "3.0.0",
3498+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
3499+ "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
30283500 "license": "MIT",
30293501 "dependencies": {
30303502 "node-fetch": "^2.6.1",
@@ -3050,6 +3522,8 @@
30503522 },
30513523 "node_modules/jimp": {
30523524 "version": "0.22.10",
3525+ "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.22.10.tgz",
3526+ "integrity": "sha512-lCaHIJAgTOsplyJzC1w/laxSxrbSsEBw4byKwXgUdMmh+ayPsnidTblenQm+IvhIs44Gcuvlb6pd2LQ0wcKaKg==",
30533527 "license": "MIT",
30543528 "dependencies": {
30553529 "@jimp/custom": "^0.22.10",
@@ -3060,15 +3534,21 @@
30603534 },
30613535 "node_modules/jpeg-js": {
30623536 "version": "0.4.4",
3537+ "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz",
3538+ "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==",
30633539 "license": "BSD-3-Clause"
30643540 },
30653541 "node_modules/jquery": {
30663542 "version": "3.7.0",
3543+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz",
3544+ "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==",
30673545 "dev": true,
30683546 "license": "MIT"
30693547 },
30703548 "node_modules/js-yaml": {
30713549 "version": "4.1.0",
3550+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
3551+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
30723552 "dev": true,
30733553 "license": "MIT",
30743554 "dependencies": {
@@ -3080,10 +3560,14 @@
30803560 },
30813561 "node_modules/json-buffer": {
30823562 "version": "3.0.1",
3563+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
3564+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
30833565 "license": "MIT"
30843566 },
30853567 "node_modules/json-colorizer": {
30863568 "version": "2.2.2",
3569+ "resolved": "https://registry.npmjs.org/json-colorizer/-/json-colorizer-2.2.2.tgz",
3570+ "integrity": "sha512-56oZtwV1piXrQnRNTtJeqRv+B9Y/dXAYLqBBaYl/COcUdoZxgLBLAO88+CnkbT6MxNs0c5E9mPBIb2sFcNz3vw==",
30873571 "license": "MIT",
30883572 "dependencies": {
30893573 "chalk": "^2.4.1",
@@ -3092,6 +3576,8 @@
30923576 },
30933577 "node_modules/json-colorizer/node_modules/ansi-styles": {
30943578 "version": "3.2.1",
3579+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
3580+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
30953581 "license": "MIT",
30963582 "dependencies": {
30973583 "color-convert": "^1.9.0"
@@ -3102,6 +3588,8 @@
31023588 },
31033589 "node_modules/json-colorizer/node_modules/chalk": {
31043590 "version": "2.4.2",
3591+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
3592+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
31053593 "license": "MIT",
31063594 "dependencies": {
31073595 "ansi-styles": "^3.2.1",
@@ -3114,6 +3602,8 @@
31143602 },
31153603 "node_modules/json-colorizer/node_modules/color-convert": {
31163604 "version": "1.9.3",
3605+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
3606+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
31173607 "license": "MIT",
31183608 "dependencies": {
31193609 "color-name": "1.1.3"
@@ -3121,10 +3611,14 @@
31213611 },
31223612 "node_modules/json-colorizer/node_modules/color-name": {
31233613 "version": "1.1.3",
3614+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
3615+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
31243616 "license": "MIT"
31253617 },
31263618 "node_modules/json-colorizer/node_modules/has-flag": {
31273619 "version": "3.0.0",
3620+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
3621+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
31283622 "license": "MIT",
31293623 "engines": {
31303624 "node": ">=4"
@@ -3132,6 +3626,8 @@
31323626 },
31333627 "node_modules/json-colorizer/node_modules/supports-color": {
31343628 "version": "5.5.0",
3629+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3630+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
31353631 "license": "MIT",
31363632 "dependencies": {
31373633 "has-flag": "^3.0.0"
@@ -3142,11 +3638,15 @@
31423638 },
31433639 "node_modules/json-schema-traverse": {
31443640 "version": "0.4.1",
3641+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3642+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
31453643 "dev": true,
31463644 "license": "MIT"
31473645 },
31483646 "node_modules/json-stable-stringify-without-jsonify": {
31493647 "version": "1.0.1",
3648+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
3649+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
31503650 "dev": true,
31513651 "license": "MIT"
31523652 },
@@ -3163,6 +3663,8 @@
31633663 },
31643664 "node_modules/keyv": {
31653665 "version": "4.5.3",
3666+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
3667+ "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
31663668 "license": "MIT",
31673669 "dependencies": {
31683670 "json-buffer": "3.0.1"
@@ -3181,6 +3683,8 @@
31813683 },
31823684 "node_modules/levn": {
31833685 "version": "0.4.1",
3686+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
3687+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
31843688 "dev": true,
31853689 "license": "MIT",
31863690 "dependencies": {
@@ -3193,6 +3697,8 @@
31933697 },
31943698 "node_modules/load-bmfont": {
31953699 "version": "1.4.1",
3700+ "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz",
3701+ "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==",
31963702 "license": "MIT",
31973703 "dependencies": {
31983704 "buffer-equal": "0.0.1",
@@ -3207,6 +3713,8 @@
32073713 },
32083714 "node_modules/locate-path": {
32093715 "version": "6.0.0",
3716+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
3717+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
32103718 "dev": true,
32113719 "license": "MIT",
32123720 "dependencies": {
@@ -3221,23 +3729,33 @@
32213729 },
32223730 "node_modules/lodash": {
32233731 "version": "4.17.21",
3732+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
3733+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
32243734 "license": "MIT"
32253735 },
32263736 "node_modules/lodash.get": {
32273737 "version": "4.4.2",
3738+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
3739+ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==",
32283740 "license": "MIT"
32293741 },
32303742 "node_modules/lodash.merge": {
32313743 "version": "4.6.2",
3744+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
3745+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
32323746 "dev": true,
32333747 "license": "MIT"
32343748 },
32353749 "node_modules/long": {
32363750 "version": "4.0.0",
3751+ "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
3752+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
32373753 "license": "Apache-2.0"
32383754 },
32393755 "node_modules/lowercase-keys": {
32403756 "version": "2.0.0",
3757+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
3758+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
32413759 "license": "MIT",
32423760 "engines": {
32433761 "node": ">=8"
@@ -3253,6 +3771,8 @@
32533771 },
32543772 "node_modules/md5": {
32553773 "version": "2.3.0",
3774+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
3775+ "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
32563776 "license": "BSD-3-Clause",
32573777 "dependencies": {
32583778 "charenc": "0.0.2",
@@ -3262,6 +3782,8 @@
32623782 },
32633783 "node_modules/media-typer": {
32643784 "version": "0.3.0",
3785+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
3786+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
32653787 "license": "MIT",
32663788 "engines": {
32673789 "node": ">= 0.6"
@@ -3269,10 +3791,14 @@
32693791 },
32703792 "node_modules/merge-descriptors": {
32713793 "version": "1.0.1",
3794+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
3795+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
32723796 "license": "MIT"
32733797 },
32743798 "node_modules/methods": {
32753799 "version": "1.1.2",
3800+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
3801+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
32763802 "license": "MIT",
32773803 "engines": {
32783804 "node": ">= 0.6"
@@ -3280,6 +3806,8 @@
32803806 },
32813807 "node_modules/mime": {
32823808 "version": "1.6.0",
3809+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
3810+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
32833811 "license": "MIT",
32843812 "bin": {
32853813 "mime": "cli.js"
@@ -3290,6 +3818,8 @@
32903818 },
32913819 "node_modules/mime-db": {
32923820 "version": "1.52.0",
3821+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
3822+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
32933823 "license": "MIT",
32943824 "engines": {
32953825 "node": ">= 0.6"
@@ -3297,6 +3827,8 @@
32973827 },
32983828 "node_modules/mime-types": {
32993829 "version": "2.1.35",
3830+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
3831+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
33003832 "license": "MIT",
33013833 "dependencies": {
33023834 "mime-db": "1.52.0"
@@ -3307,6 +3839,8 @@
33073839 },
33083840 "node_modules/mimic-response": {
33093841 "version": "3.1.0",
3842+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
3843+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
33103844 "license": "MIT",
33113845 "engines": {
33123846 "node": ">=10"
@@ -3317,12 +3851,16 @@
33173851 },
33183852 "node_modules/min-document": {
33193853 "version": "2.19.0",
3854+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
3855+ "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
33203856 "dependencies": {
33213857 "dom-walk": "^0.1.0"
33223858 }
33233859 },
33243860 "node_modules/minimatch": {
33253861 "version": "3.1.2",
3862+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
3863+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
33263864 "dev": true,
33273865 "license": "ISC",
33283866 "dependencies": {
@@ -3334,6 +3872,8 @@
33343872 },
33353873 "node_modules/minimist": {
33363874 "version": "1.2.8",
3875+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
3876+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
33373877 "license": "MIT",
33383878 "funding": {
33393879 "url": "https://github.com/sponsors/ljharb"
@@ -3349,10 +3889,14 @@
33493889 },
33503890 "node_modules/ms": {
33513891 "version": "2.0.0",
3892+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3893+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
33523894 "license": "MIT"
33533895 },
33543896 "node_modules/multer": {
33553897 "version": "1.4.5-lts.1",
3898+ "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz",
3899+ "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==",
33563900 "license": "MIT",
33573901 "dependencies": {
33583902 "append-field": "^1.0.0",
@@ -3369,6 +3913,8 @@
33693913 },
33703914 "node_modules/multer/node_modules/mkdirp": {
33713915 "version": "0.5.6",
3916+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
3917+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
33723918 "license": "MIT",
33733919 "dependencies": {
33743920 "minimist": "^1.2.6"
@@ -3379,11 +3925,15 @@
33793925 },
33803926 "node_modules/natural-compare": {
33813927 "version": "1.4.0",
3928+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3929+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
33823930 "dev": true,
33833931 "license": "MIT"
33843932 },
33853933 "node_modules/negotiator": {
33863934 "version": "0.6.3",
3935+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
3936+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
33873937 "license": "MIT",
33883938 "engines": {
33893939 "node": ">= 0.6"
@@ -3391,6 +3941,8 @@
33913941 },
33923942 "node_modules/node-domexception": {
33933943 "version": "1.0.0",
3944+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
3945+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
33943946 "funding": [
33953947 {
33963948 "type": "github",
@@ -3408,6 +3960,8 @@
34083960 },
34093961 "node_modules/node-fetch": {
34103962 "version": "2.6.12",
3963+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz",
3964+ "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
34113965 "license": "MIT",
34123966 "dependencies": {
34133967 "whatwg-url": "^5.0.0"
@@ -3442,6 +3996,8 @@
34423996 },
34433997 "node_modules/normalize-url": {
34443998 "version": "6.1.0",
3999+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
4000+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
34454001 "license": "MIT",
34464002 "engines": {
34474003 "node": ">=10"
@@ -3452,6 +4008,8 @@
34524008 },
34534009 "node_modules/nth-check": {
34544010 "version": "2.1.1",
4011+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
4012+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
34554013 "license": "BSD-2-Clause",
34564014 "dependencies": {
34574015 "boolbase": "^1.0.0"
@@ -3462,6 +4020,8 @@
34624020 },
34634021 "node_modules/object-assign": {
34644022 "version": "4.1.1",
4023+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
4024+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
34654025 "license": "MIT",
34664026 "engines": {
34674027 "node": ">=0.10.0"
@@ -3469,6 +4029,8 @@
34694029 },
34704030 "node_modules/object-inspect": {
34714031 "version": "1.12.3",
4032+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
4033+ "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
34724034 "license": "MIT",
34734035 "funding": {
34744036 "url": "https://github.com/sponsors/ljharb"
@@ -3476,10 +4038,14 @@
34764038 },
34774039 "node_modules/omggif": {
34784040 "version": "1.0.10",
4041+ "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
4042+ "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==",
34794043 "license": "MIT"
34804044 },
34814045 "node_modules/on-finished": {
34824046 "version": "2.4.1",
4047+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
4048+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
34834049 "license": "MIT",
34844050 "dependencies": {
34854051 "ee-first": "1.1.1"
@@ -3490,6 +4056,8 @@
34904056 },
34914057 "node_modules/on-headers": {
34924058 "version": "1.0.2",
4059+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
4060+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
34934061 "license": "MIT",
34944062 "engines": {
34954063 "node": ">= 0.8"
@@ -3497,6 +4065,8 @@
34974065 },
34984066 "node_modules/once": {
34994067 "version": "1.4.0",
4068+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
4069+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
35004070 "license": "ISC",
35014071 "dependencies": {
35024072 "wrappy": "1"
@@ -3504,6 +4074,8 @@
35044074 },
35054075 "node_modules/onnx-proto": {
35064076 "version": "4.0.4",
4077+ "resolved": "https://registry.npmjs.org/onnx-proto/-/onnx-proto-4.0.4.tgz",
4078+ "integrity": "sha512-aldMOB3HRoo6q/phyB6QRQxSt895HNNw82BNyZ2CMh4bjeKv7g/c+VpAFtJuEMVfYLMbRx61hbuqnKceLeDcDA==",
35074079 "license": "MIT",
35084080 "dependencies": {
35094081 "protobufjs": "^6.8.8"
@@ -3511,10 +4083,14 @@
35114083 },
35124084 "node_modules/onnxruntime-common": {
35134085 "version": "1.14.0",
4086+ "resolved": "https://registry.npmjs.org/onnxruntime-common/-/onnxruntime-common-1.14.0.tgz",
4087+ "integrity": "sha512-3LJpegM2iMNRX2wUmtYfeX/ytfOzNwAWKSq1HbRrKc9+uqG/FsEA0bbKZl1btQeZaXhC26l44NWpNUeXPII7Ew==",
35144088 "license": "MIT"
35154089 },
35164090 "node_modules/onnxruntime-web": {
35174091 "version": "1.14.0",
4092+ "resolved": "https://registry.npmjs.org/onnxruntime-web/-/onnxruntime-web-1.14.0.tgz",
4093+ "integrity": "sha512-Kcqf43UMfW8mCydVGcX9OMXI2VN17c0p6XvR7IPSZzBf/6lteBzXHvcEVWDPmCKuGombl997HgLqj91F11DzXw==",
35184094 "license": "MIT",
35194095 "dependencies": {
35204096 "flatbuffers": "^1.12.0",
@@ -3527,6 +4103,8 @@
35274103 },
35284104 "node_modules/open": {
35294105 "version": "8.4.2",
4106+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
4107+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
35304108 "license": "MIT",
35314109 "dependencies": {
35324110 "define-lazy-prop": "^2.0.0",
@@ -3542,6 +4120,8 @@
35424120 },
35434121 "node_modules/openai": {
35444122 "version": "4.17.4",
4123+ "resolved": "https://registry.npmjs.org/openai/-/openai-4.17.4.tgz",
4124+ "integrity": "sha512-ThRFkl6snLbcAKS58St7N3CaKuI5WdYUvIjPvf4s+8SdymgNtOfzmZcZXVcCefx04oKFnvZJvIcTh3eAFUUhAQ==",
35454125 "license": "Apache-2.0",
35464126 "dependencies": {
35474127 "@types/node": "^18.11.18",
@@ -3560,6 +4140,8 @@
35604140 },
35614141 "node_modules/openai/node_modules/@types/node": {
35624142 "version": "18.18.9",
4143+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.9.tgz",
4144+ "integrity": "sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==",
35634145 "license": "MIT",
35644146 "dependencies": {
35654147 "undici-types": "~5.26.4"
@@ -3567,6 +4149,8 @@
35674149 },
35684150 "node_modules/optionator": {
35694151 "version": "0.9.3",
4152+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
4153+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
35704154 "dev": true,
35714155 "license": "MIT",
35724156 "dependencies": {
@@ -3583,6 +4167,8 @@
35834167 },
35844168 "node_modules/p-cancelable": {
35854169 "version": "2.1.1",
4170+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
4171+ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
35864172 "license": "MIT",
35874173 "engines": {
35884174 "node": ">=8"
@@ -3590,6 +4176,8 @@
35904176 },
35914177 "node_modules/p-limit": {
35924178 "version": "3.1.0",
4179+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
4180+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
35934181 "dev": true,
35944182 "license": "MIT",
35954183 "dependencies": {
@@ -3604,6 +4192,8 @@
36044192 },
36054193 "node_modules/p-locate": {
36064194 "version": "5.0.0",
4195+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
4196+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
36074197 "dev": true,
36084198 "license": "MIT",
36094199 "dependencies": {
@@ -3618,10 +4208,14 @@
36184208 },
36194209 "node_modules/pako": {
36204210 "version": "1.0.11",
4211+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
4212+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
36214213 "license": "(MIT AND Zlib)"
36224214 },
36234215 "node_modules/parent-module": {
36244216 "version": "1.0.1",
4217+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
4218+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
36254219 "dev": true,
36264220 "license": "MIT",
36274221 "dependencies": {
@@ -3633,14 +4227,20 @@
36334227 },
36344228 "node_modules/parse-bmfont-ascii": {
36354229 "version": "1.0.6",
4230+ "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
4231+ "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==",
36364232 "license": "MIT"
36374233 },
36384234 "node_modules/parse-bmfont-binary": {
36394235 "version": "1.0.6",
4236+ "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
4237+ "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==",
36404238 "license": "MIT"
36414239 },
36424240 "node_modules/parse-bmfont-xml": {
36434241 "version": "1.1.4",
4242+ "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz",
4243+ "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==",
36444244 "license": "MIT",
36454245 "dependencies": {
36464246 "xml-parse-from-string": "^1.0.0",
@@ -3649,10 +4249,14 @@
36494249 },
36504250 "node_modules/parse-headers": {
36514251 "version": "2.0.5",
4252+ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz",
4253+ "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==",
36524254 "license": "MIT"
36534255 },
36544256 "node_modules/parse5": {
36554257 "version": "7.1.2",
4258+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
4259+ "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
36564260 "license": "MIT",
36574261 "dependencies": {
36584262 "entities": "^4.4.0"
@@ -3663,6 +4267,8 @@
36634267 },
36644268 "node_modules/parse5-htmlparser2-tree-adapter": {
36654269 "version": "7.0.0",
4270+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
4271+ "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
36664272 "license": "MIT",
36674273 "dependencies": {
36684274 "domhandler": "^5.0.2",
@@ -3674,6 +4280,8 @@
36744280 },
36754281 "node_modules/parseurl": {
36764282 "version": "1.3.3",
4283+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
4284+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
36774285 "license": "MIT",
36784286 "engines": {
36794287 "node": ">= 0.8"
@@ -3681,6 +4289,8 @@
36814289 },
36824290 "node_modules/path-exists": {
36834291 "version": "4.0.0",
4292+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
4293+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
36844294 "dev": true,
36854295 "license": "MIT",
36864296 "engines": {
@@ -3689,6 +4299,8 @@
36894299 },
36904300 "node_modules/path-is-absolute": {
36914301 "version": "1.0.1",
4302+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
4303+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
36924304 "dev": true,
36934305 "license": "MIT",
36944306 "engines": {
@@ -3697,6 +4309,8 @@
36974309 },
36984310 "node_modules/path-key": {
36994311 "version": "3.1.1",
4312+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
4313+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
37004314 "license": "MIT",
37014315 "engines": {
37024316 "node": ">=8"
@@ -3719,10 +4333,14 @@
37194333 },
37204334 "node_modules/path-to-regexp": {
37214335 "version": "0.1.7",
4336+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
4337+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
37224338 "license": "MIT"
37234339 },
37244340 "node_modules/peek-readable": {
37254341 "version": "4.1.0",
4342+ "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
4343+ "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
37264344 "license": "MIT",
37274345 "engines": {
37284346 "node": ">=8"
@@ -3734,6 +4352,8 @@
37344352 },
37354353 "node_modules/pend": {
37364354 "version": "1.2.0",
4355+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
4356+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
37374357 "license": "MIT"
37384358 },
37394359 "node_modules/phin": {
@@ -3749,6 +4369,8 @@
37494369 },
37504370 "node_modules/pixelmatch": {
37514371 "version": "4.0.2",
4372+ "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
4373+ "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==",
37524374 "license": "ISC",
37534375 "dependencies": {
37544376 "pngjs": "^3.0.0"
@@ -3759,6 +4381,8 @@
37594381 },
37604382 "node_modules/pixelmatch/node_modules/pngjs": {
37614383 "version": "3.4.0",
4384+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
4385+ "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
37624386 "license": "MIT",
37634387 "engines": {
37644388 "node": ">=4.0.0"
@@ -3766,14 +4390,20 @@
37664390 },
37674391 "node_modules/platform": {
37684392 "version": "1.3.6",
4393+ "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz",
4394+ "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==",
37694395 "license": "MIT"
37704396 },
37714397 "node_modules/png-chunk-text": {
37724398 "version": "1.0.0",
4399+ "resolved": "https://registry.npmjs.org/png-chunk-text/-/png-chunk-text-1.0.0.tgz",
4400+ "integrity": "sha512-DEROKU3SkkLGWNMzru3xPVgxyd48UGuMSZvioErCure6yhOc/pRH2ZV+SEn7nmaf7WNf3NdIpH+UTrRdKyq9Lw==",
37734401 "license": "MIT"
37744402 },
37754403 "node_modules/png-chunks-encode": {
37764404 "version": "1.0.0",
4405+ "resolved": "https://registry.npmjs.org/png-chunks-encode/-/png-chunks-encode-1.0.0.tgz",
4406+ "integrity": "sha512-J1jcHgbQRsIIgx5wxW9UmCymV3wwn4qCCJl6KYgEU/yHCh/L2Mwq/nMOkRPtmV79TLxRZj5w3tH69pvygFkDqA==",
37774407 "license": "MIT",
37784408 "dependencies": {
37794409 "crc-32": "^0.3.0",
@@ -3782,6 +4412,8 @@
37824412 },
37834413 "node_modules/png-chunks-extract": {
37844414 "version": "1.0.0",
4415+ "resolved": "https://registry.npmjs.org/png-chunks-extract/-/png-chunks-extract-1.0.0.tgz",
4416+ "integrity": "sha512-ZiVwF5EJ0DNZyzAqld8BP1qyJBaGOFaq9zl579qfbkcmOwWLLO4I9L8i2O4j3HkI6/35i0nKG2n+dZplxiT89Q==",
37854417 "license": "MIT",
37864418 "dependencies": {
37874419 "crc-32": "^0.3.0"
@@ -3789,6 +4421,8 @@
37894421 },
37904422 "node_modules/pngjs": {
37914423 "version": "6.0.0",
4424+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz",
4425+ "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==",
37924426 "license": "MIT",
37934427 "engines": {
37944428 "node": ">=12.13.0"
@@ -3796,6 +4430,8 @@
37964430 },
37974431 "node_modules/prelude-ls": {
37984432 "version": "1.2.1",
4433+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
4434+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
37994435 "dev": true,
38004436 "license": "MIT",
38014437 "engines": {
@@ -3804,6 +4440,8 @@
38044440 },
38054441 "node_modules/process": {
38064442 "version": "0.11.10",
4443+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
4444+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
38074445 "license": "MIT",
38084446 "engines": {
38094447 "node": ">= 0.6.0"
@@ -3811,10 +4449,14 @@
38114449 },
38124450 "node_modules/process-nextick-args": {
38134451 "version": "2.0.1",
4452+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
4453+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
38144454 "license": "MIT"
38154455 },
38164456 "node_modules/protobufjs": {
38174457 "version": "6.11.4",
4458+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz",
4459+ "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==",
38184460 "hasInstallScript": true,
38194461 "license": "BSD-3-Clause",
38204462 "dependencies": {
@@ -3839,6 +4481,8 @@
38394481 },
38404482 "node_modules/proxy-addr": {
38414483 "version": "2.0.7",
4484+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
4485+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
38424486 "license": "MIT",
38434487 "dependencies": {
38444488 "forwarded": "0.2.0",
@@ -3850,6 +4494,8 @@
38504494 },
38514495 "node_modules/proxy-addr/node_modules/ipaddr.js": {
38524496 "version": "1.9.1",
4497+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
4498+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
38534499 "license": "MIT",
38544500 "engines": {
38554501 "node": ">= 0.10"
@@ -3857,10 +4503,14 @@
38574503 },
38584504 "node_modules/proxy-from-env": {
38594505 "version": "1.1.0",
4506+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
4507+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
38604508 "license": "MIT"
38614509 },
38624510 "node_modules/pump": {
38634511 "version": "3.0.0",
4512+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
4513+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
38644514 "license": "MIT",
38654515 "dependencies": {
38664516 "end-of-stream": "^1.1.0",
@@ -3869,6 +4519,8 @@
38694519 },
38704520 "node_modules/punycode": {
38714521 "version": "2.3.1",
4522+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
4523+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
38724524 "license": "MIT",
38734525 "engines": {
38744526 "node": ">=6"
@@ -3876,6 +4528,8 @@
38764528 },
38774529 "node_modules/qs": {
38784530 "version": "6.11.0",
4531+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
4532+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
38794533 "license": "BSD-3-Clause",
38804534 "dependencies": {
38814535 "side-channel": "^1.0.4"
@@ -3889,6 +4543,8 @@
38894543 },
38904544 "node_modules/queue-microtask": {
38914545 "version": "1.2.3",
4546+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
4547+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
38924548 "dev": true,
38934549 "funding": [
38944550 {
@@ -3913,6 +4569,8 @@
39134569 },
39144570 "node_modules/quick-lru": {
39154571 "version": "5.1.1",
4572+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
4573+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
39164574 "license": "MIT",
39174575 "engines": {
39184576 "node": ">=10"
@@ -3923,6 +4581,8 @@
39234581 },
39244582 "node_modules/range-parser": {
39254583 "version": "1.2.1",
4584+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
4585+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
39264586 "license": "MIT",
39274587 "engines": {
39284588 "node": ">= 0.6"
@@ -3935,6 +4595,8 @@
39354595 },
39364596 "node_modules/raw-body": {
39374597 "version": "2.5.2",
4598+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
4599+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
39384600 "license": "MIT",
39394601 "dependencies": {
39404602 "bytes": "3.1.2",
@@ -3948,6 +4610,8 @@
39484610 },
39494611 "node_modules/raw-body/node_modules/bytes": {
39504612 "version": "3.1.2",
4613+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
4614+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
39514615 "license": "MIT",
39524616 "engines": {
39534617 "node": ">= 0.8"
@@ -3955,6 +4619,8 @@
39554619 },
39564620 "node_modules/readable-stream": {
39574621 "version": "2.3.8",
4622+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
4623+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
39584624 "license": "MIT",
39594625 "dependencies": {
39604626 "core-util-is": "~1.0.0",
@@ -3968,6 +4634,8 @@
39684634 },
39694635 "node_modules/readable-web-to-node-stream": {
39704636 "version": "3.0.2",
4637+ "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
4638+ "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
39714639 "license": "MIT",
39724640 "dependencies": {
39734641 "readable-stream": "^3.6.0"
@@ -3982,6 +4650,8 @@
39824650 },
39834651 "node_modules/readable-web-to-node-stream/node_modules/readable-stream": {
39844652 "version": "3.6.2",
4653+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
4654+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
39854655 "license": "MIT",
39864656 "dependencies": {
39874657 "inherits": "^2.0.3",
@@ -4021,10 +4691,14 @@
40214691 },
40224692 "node_modules/regenerator-runtime": {
40234693 "version": "0.13.11",
4694+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
4695+ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
40244696 "license": "MIT"
40254697 },
40264698 "node_modules/require-directory": {
40274699 "version": "2.1.1",
4700+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
4701+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
40284702 "license": "MIT",
40294703 "engines": {
40304704 "node": ">=0.10.0"
@@ -4032,10 +4706,14 @@
40324706 },
40334707 "node_modules/resolve-alpn": {
40344708 "version": "1.2.1",
4709+ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
4710+ "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
40354711 "license": "MIT"
40364712 },
40374713 "node_modules/resolve-from": {
40384714 "version": "4.0.0",
4715+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
4716+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
40394717 "dev": true,
40404718 "license": "MIT",
40414719 "engines": {
@@ -4044,6 +4722,8 @@
40444722 },
40454723 "node_modules/response-time": {
40464724 "version": "2.3.2",
4725+ "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
4726+ "integrity": "sha512-MUIDaDQf+CVqflfTdQ5yam+aYCkXj1PY8fjlPDQ6ppxJlmgZb864pHtA750mayywNg8tx4rS7qH9JXd/OF+3gw==",
40474727 "license": "MIT",
40484728 "dependencies": {
40494729 "depd": "~1.1.0",
@@ -4055,6 +4735,8 @@
40554735 },
40564736 "node_modules/response-time/node_modules/depd": {
40574737 "version": "1.1.2",
4738+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
4739+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
40584740 "license": "MIT",
40594741 "engines": {
40604742 "node": ">= 0.6"
@@ -4062,6 +4744,8 @@
40624744 },
40634745 "node_modules/responselike": {
40644746 "version": "2.0.1",
4747+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
4748+ "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
40654749 "license": "MIT",
40664750 "dependencies": {
40674751 "lowercase-keys": "^2.0.0"
@@ -4072,6 +4756,8 @@
40724756 },
40734757 "node_modules/reusify": {
40744758 "version": "1.0.4",
4759+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
4760+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
40754761 "dev": true,
40764762 "license": "MIT",
40774763 "engines": {
@@ -4081,6 +4767,8 @@
40814767 },
40824768 "node_modules/rimraf": {
40834769 "version": "3.0.2",
4770+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
4771+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
40844772 "dev": true,
40854773 "license": "ISC",
40864774 "dependencies": {
@@ -4095,6 +4783,8 @@
40954783 },
40964784 "node_modules/run-parallel": {
40974785 "version": "1.2.0",
4786+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
4787+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
40984788 "dev": true,
40994789 "funding": [
41004790 {
@@ -4117,14 +4807,20 @@
41174807 },
41184808 "node_modules/safe-buffer": {
41194809 "version": "5.1.2",
4810+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
4811+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
41204812 "license": "MIT"
41214813 },
41224814 "node_modules/safer-buffer": {
41234815 "version": "2.1.2",
4816+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
4817+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
41244818 "license": "MIT"
41254819 },
41264820 "node_modules/sanitize-filename": {
41274821 "version": "1.6.3",
4822+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz",
4823+ "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==",
41284824 "license": "WTFPL OR ISC",
41294825 "dependencies": {
41304826 "truncate-utf8-bytes": "^1.0.0"
@@ -4132,10 +4828,14 @@
41324828 },
41334829 "node_modules/sax": {
41344830 "version": "1.2.4",
4831+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
4832+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
41354833 "license": "ISC"
41364834 },
41374835 "node_modules/send": {
41384836 "version": "0.18.0",
4837+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
4838+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
41394839 "license": "MIT",
41404840 "dependencies": {
41414841 "debug": "2.6.9",
@@ -4158,10 +4858,14 @@
41584858 },
41594859 "node_modules/send/node_modules/ms": {
41604860 "version": "2.1.3",
4861+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
4862+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
41614863 "license": "MIT"
41624864 },
41634865 "node_modules/serve-static": {
41644866 "version": "1.15.0",
4867+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
4868+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
41654869 "license": "MIT",
41664870 "dependencies": {
41674871 "encodeurl": "~1.0.2",
@@ -4175,10 +4879,14 @@
41754879 },
41764880 "node_modules/setprototypeof": {
41774881 "version": "1.2.0",
4882+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
4883+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
41784884 "license": "ISC"
41794885 },
41804886 "node_modules/shebang-command": {
41814887 "version": "2.0.0",
4888+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
4889+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
41824890 "license": "MIT",
41834891 "dependencies": {
41844892 "shebang-regex": "^3.0.0"
@@ -4189,6 +4897,8 @@
41894897 },
41904898 "node_modules/shebang-regex": {
41914899 "version": "3.0.0",
4900+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
4901+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
41924902 "license": "MIT",
41934903 "engines": {
41944904 "node": ">=8"
@@ -4196,6 +4906,8 @@
41964906 },
41974907 "node_modules/side-channel": {
41984908 "version": "1.0.4",
4909+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
4910+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
41994911 "license": "MIT",
42004912 "dependencies": {
42014913 "call-bind": "^1.0.0",
@@ -4208,6 +4920,8 @@
42084920 },
42094921 "node_modules/signal-exit": {
42104922 "version": "4.1.0",
4923+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
4924+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
42114925 "license": "ISC",
42124926 "engines": {
42134927 "node": ">=14"
@@ -4218,6 +4932,8 @@
42184932 },
42194933 "node_modules/sillytavern-transformers": {
42204934 "version": "2.14.6",
4935+ "resolved": "https://registry.npmjs.org/sillytavern-transformers/-/sillytavern-transformers-2.14.6.tgz",
4936+ "integrity": "sha512-Tpu3lcDfa3vQB/wRgF+7ZG8ZNtYygT6vEQs9+4BpXLghVanx6ic7rBSxmTxx9Sm90G1P3W8mxoVkzfs8KAvMiA==",
42214937 "license": "Apache-2.0",
42224938 "dependencies": {
42234939 "@huggingface/jinja": "^0.1.0",
@@ -4227,6 +4943,8 @@
42274943 },
42284944 "node_modules/simple-git": {
42294945 "version": "3.19.1",
4946+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.19.1.tgz",
4947+ "integrity": "sha512-Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==",
42304948 "license": "MIT",
42314949 "dependencies": {
42324950 "@kwsites/file-exists": "^1.1.1",
@@ -4240,6 +4958,8 @@
42404958 },
42414959 "node_modules/simple-git/node_modules/debug": {
42424960 "version": "4.3.4",
4961+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
4962+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
42434963 "license": "MIT",
42444964 "dependencies": {
42454965 "ms": "2.1.2"
@@ -4255,14 +4975,20 @@
42554975 },
42564976 "node_modules/simple-git/node_modules/ms": {
42574977 "version": "2.1.2",
4978+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
4979+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
42584980 "license": "MIT"
42594981 },
42604982 "node_modules/sliced": {
42614983 "version": "1.0.1",
4984+ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
4985+ "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==",
42624986 "license": "MIT"
42634987 },
42644988 "node_modules/statuses": {
42654989 "version": "2.0.1",
4990+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
4991+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
42664992 "license": "MIT",
42674993 "engines": {
42684994 "node": ">= 0.8"
@@ -4270,6 +4996,8 @@
42704996 },
42714997 "node_modules/streamsearch": {
42724998 "version": "1.1.0",
4999+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
5000+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
42735001 "engines": {
42745002 "node": ">=10.0.0"
42755003 }
@@ -4288,6 +5016,8 @@
42885016 },
42895017 "node_modules/string_decoder": {
42905018 "version": "1.1.1",
5019+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
5020+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
42915021 "license": "MIT",
42925022 "dependencies": {
42935023 "safe-buffer": "~5.1.0"
@@ -4295,6 +5025,8 @@
42955025 },
42965026 "node_modules/string-width": {
42975027 "version": "4.2.3",
5028+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
5029+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
42985030 "license": "MIT",
42995031 "dependencies": {
43005032 "emoji-regex": "^8.0.0",
@@ -4321,6 +5053,8 @@
43215053 },
43225054 "node_modules/strip-ansi": {
43235055 "version": "6.0.1",
5056+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
5057+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
43245058 "license": "MIT",
43255059 "dependencies": {
43265060 "ansi-regex": "^5.0.1"
@@ -4341,8 +5075,23 @@
43415075 "node": ">=8"
43425076 }
43435077 },
5078+ "node_modules/strip-json-comments": {
5079+ "version": "3.1.1",
5080+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
5081+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
5082+ "dev": true,
5083+ "license": "MIT",
5084+ "engines": {
5085+ "node": ">=8"
5086+ },
5087+ "funding": {
5088+ "url": "https://github.com/sponsors/sindresorhus"
5089+ }
5090+ },
43445091 "node_modules/strtok3": {
43455092 "version": "6.3.0",
5093+ "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
5094+ "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==",
43465095 "license": "MIT",
43475096 "dependencies": {
43485097 "@tokenizer/token": "^0.3.0",
@@ -4358,6 +5107,8 @@
43585107 },
43595108 "node_modules/supports-color": {
43605109 "version": "7.2.0",
5110+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
5111+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
43615112 "dev": true,
43625113 "license": "MIT",
43635114 "dependencies": {
@@ -4379,6 +5130,8 @@
43795130 },
43805131 "node_modules/text-table": {
43815132 "version": "0.2.0",
5133+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
5134+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
43825135 "dev": true,
43835136 "license": "MIT"
43845137 },
@@ -4389,14 +5142,20 @@
43895142 },
43905143 "node_modules/timm": {
43915144 "version": "1.7.1",
5145+ "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz",
5146+ "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==",
43925147 "license": "MIT"
43935148 },
43945149 "node_modules/tinycolor2": {
43955150 "version": "1.6.0",
5151+ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
5152+ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
43965153 "license": "MIT"
43975154 },
43985155 "node_modules/toidentifier": {
43995156 "version": "1.0.1",
5157+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
5158+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
44005159 "license": "MIT",
44015160 "engines": {
44025161 "node": ">=0.6"
@@ -4404,6 +5163,8 @@
44045163 },
44055164 "node_modules/token-types": {
44065165 "version": "4.2.1",
5166+ "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz",
5167+ "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==",
44075168 "license": "MIT",
44085169 "dependencies": {
44095170 "@tokenizer/token": "^0.3.0",
@@ -4430,6 +5191,8 @@
44305191 },
44315192 "node_modules/truncate-utf8-bytes": {
44325193 "version": "1.0.2",
5194+ "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
5195+ "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==",
44335196 "license": "WTFPL",
44345197 "dependencies": {
44355198 "utf8-byte-length": "^1.0.1"
@@ -4445,6 +5208,8 @@
44455208 },
44465209 "node_modules/type-check": {
44475210 "version": "0.4.0",
5211+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
5212+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
44485213 "dev": true,
44495214 "license": "MIT",
44505215 "dependencies": {
@@ -4456,6 +5221,8 @@
44565221 },
44575222 "node_modules/type-fest": {
44585223 "version": "0.20.2",
5224+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
5225+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
44595226 "dev": true,
44605227 "license": "(MIT OR CC0-1.0)",
44615228 "engines": {
@@ -4467,6 +5234,8 @@
44675234 },
44685235 "node_modules/type-is": {
44695236 "version": "1.6.18",
5237+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
5238+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
44705239 "license": "MIT",
44715240 "dependencies": {
44725241 "media-typer": "0.3.0",
@@ -4478,14 +5247,20 @@
44785247 },
44795248 "node_modules/typedarray": {
44805249 "version": "0.0.6",
5250+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
5251+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
44815252 "license": "MIT"
44825253 },
44835254 "node_modules/undici-types": {
44845255 "version": "5.26.5",
5256+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
5257+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
44855258 "license": "MIT"
44865259 },
44875260 "node_modules/unpipe": {
44885261 "version": "1.0.0",
5262+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
5263+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
44895264 "license": "MIT",
44905265 "engines": {
44915266 "node": ">= 0.8"
@@ -4493,6 +5268,8 @@
44935268 },
44945269 "node_modules/uri-js": {
44955270 "version": "4.4.1",
5271+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
5272+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
44965273 "dev": true,
44975274 "license": "BSD-2-Clause",
44985275 "dependencies": {
@@ -4501,10 +5278,14 @@
45015278 },
45025279 "node_modules/utf8-byte-length": {
45035280 "version": "1.0.4",
5281+ "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
5282+ "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==",
45045283 "license": "WTFPL"
45055284 },
45065285 "node_modules/utif2": {
45075286 "version": "4.1.0",
5287+ "resolved": "https://registry.npmjs.org/utif2/-/utif2-4.1.0.tgz",
5288+ "integrity": "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==",
45085289 "license": "MIT",
45095290 "dependencies": {
45105291 "pako": "^1.0.11"
@@ -4512,10 +5293,14 @@
45125293 },
45135294 "node_modules/util-deprecate": {
45145295 "version": "1.0.2",
5296+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
5297+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
45155298 "license": "MIT"
45165299 },
45175300 "node_modules/utils-merge": {
45185301 "version": "1.0.1",
5302+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
5303+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
45195304 "license": "MIT",
45205305 "engines": {
45215306 "node": ">= 0.4.0"
@@ -4535,6 +5320,8 @@
45355320 },
45365321 "node_modules/vary": {
45375322 "version": "1.1.2",
5323+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
5324+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
45385325 "license": "MIT",
45395326 "engines": {
45405327 "node": ">= 0.8"
@@ -4542,6 +5329,8 @@
45425329 },
45435330 "node_modules/vectra": {
45445331 "version": "0.2.2",
5332+ "resolved": "https://registry.npmjs.org/vectra/-/vectra-0.2.2.tgz",
5333+ "integrity": "sha512-Z1d29Zil+dlA9/Qz4VJB3zcWjIARY8QH5xQEnHmGgmTUP58cPRV8NK7P0QH91IRs0RvAWrYiQf9Y5JqQo0vJlQ==",
45455334 "license": "MIT",
45465335 "dependencies": {
45475336 "axios": "^1.3.4",
@@ -4559,6 +5348,8 @@
45595348 },
45605349 "node_modules/wavefile": {
45615350 "version": "11.0.0",
5351+ "resolved": "https://registry.npmjs.org/wavefile/-/wavefile-11.0.0.tgz",
5352+ "integrity": "sha512-/OBiAALgWU24IG7sC84cDO/KfFuvajWc5Uec0oV2zrpOOZZDgGdOwHwgEzOrwh8jkubBk7PtZfQBIcI1OaE5Ng==",
45625353 "license": "MIT",
45635354 "bin": {
45645355 "wavefile": "bin/wavefile.js"
@@ -4569,6 +5360,8 @@
45695360 },
45705361 "node_modules/web-streams-polyfill": {
45715362 "version": "3.2.1",
5363+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
5364+ "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
45725365 "license": "MIT",
45735366 "engines": {
45745367 "node": ">= 8"
@@ -4584,6 +5377,8 @@
45845377 },
45855378 "node_modules/whatwg-fetch": {
45865379 "version": "3.6.18",
5380+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.18.tgz",
5381+ "integrity": "sha512-ltN7j66EneWn5TFDO4L9inYC1D+Czsxlrw2SalgjMmEMkLfA5SIZxEFdE6QtHFiiM6Q7WL32c7AkI3w6yxM84Q==",
45875382 "license": "MIT"
45885383 },
45895384 "node_modules/whatwg-url": {
@@ -4600,6 +5395,8 @@
46005395 },
46015396 "node_modules/which": {
46025397 "version": "2.0.2",
5398+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
5399+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
46035400 "license": "ISC",
46045401 "dependencies": {
46055402 "isexe": "^2.0.0"
@@ -4613,6 +5410,8 @@
46135410 },
46145411 "node_modules/wrap-ansi": {
46155412 "version": "7.0.0",
5413+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
5414+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
46165415 "license": "MIT",
46175416 "dependencies": {
46185417 "ansi-styles": "^4.0.0",
@@ -4645,10 +5444,14 @@
46455444 },
46465445 "node_modules/wrappy": {
46475446 "version": "1.0.2",
5447+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
5448+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
46485449 "license": "ISC"
46495450 },
46505451 "node_modules/write-file-atomic": {
46515452 "version": "5.0.1",
5453+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
5454+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
46525455 "license": "ISC",
46535456 "dependencies": {
46545457 "imurmurhash": "^0.1.4",
@@ -4680,6 +5483,8 @@
46805483 },
46815484 "node_modules/xhr": {
46825485 "version": "2.6.0",
5486+ "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
5487+ "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
46835488 "license": "MIT",
46845489 "dependencies": {
46855490 "global": "~4.4.0",
@@ -4690,10 +5495,14 @@
46905495 },
46915496 "node_modules/xml-parse-from-string": {
46925497 "version": "1.0.1",
5498+ "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
5499+ "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==",
46935500 "license": "MIT"
46945501 },
46955502 "node_modules/xml2js": {
46965503 "version": "0.5.0",
5504+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
5505+ "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
46975506 "license": "MIT",
46985507 "dependencies": {
46995508 "sax": ">=0.6.0",
@@ -4705,6 +5514,8 @@
47055514 },
47065515 "node_modules/xmlbuilder": {
47075516 "version": "11.0.1",
5517+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
5518+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
47085519 "license": "MIT",
47095520 "engines": {
47105521 "node": ">=4.0"
@@ -4712,6 +5523,8 @@
47125523 },
47135524 "node_modules/xtend": {
47145525 "version": "4.0.2",
5526+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
5527+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
47155528 "license": "MIT",
47165529 "engines": {
47175530 "node": ">=0.4"
@@ -4719,6 +5532,8 @@
47195532 },
47205533 "node_modules/y18n": {
47215534 "version": "5.0.8",
5535+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
5536+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
47225537 "license": "ISC",
47235538 "engines": {
47245539 "node": ">=10"
@@ -4726,6 +5541,8 @@
47265541 },
47275542 "node_modules/yaml": {
47285543 "version": "2.3.4",
5544+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
5545+ "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
47295546 "license": "ISC",
47305547 "engines": {
47315548 "node": ">= 14"
@@ -4733,6 +5550,8 @@
47335550 },
47345551 "node_modules/yargs": {
47355552 "version": "17.7.2",
5553+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
5554+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
47365555 "license": "MIT",
47375556 "dependencies": {
47385557 "cliui": "^8.0.1",
@@ -4749,6 +5568,8 @@
47495568 },
47505569 "node_modules/yargs-parser": {
47515570 "version": "21.1.1",
5571+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
5572+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
47525573 "license": "ISC",
47535574 "engines": {
47545575 "node": ">=12"
@@ -4756,6 +5577,8 @@
47565577 },
47575578 "node_modules/yauzl": {
47585579 "version": "2.10.0",
5580+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
5581+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
47595582 "license": "MIT",
47605583 "dependencies": {
47615584 "buffer-crc32": "~0.2.3",
@@ -4764,6 +5587,8 @@
47645587 },
47655588 "node_modules/yocto-queue": {
47665589 "version": "0.1.0",
5590+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
5591+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
47675592 "dev": true,
47685593 "license": "MIT",
47695594 "engines": {
public/css/animations.css+2 -7
@@ -55,16 +55,11 @@
5555
5656/* Flashing for highlighting animation */
5757@keyframes flash {
58-
58+ 0%, 50%, 100% {
59- 20%,
60- 60%,
61- 100% {
6259 opacity: 1;
6360 }
6461
65- 0%,
62+ 25%, 75% {
66- 40%,
67- 80% {
6863 opacity: 0.2;
6964 }
7065}
public/css/toggle-dependent.css+4 -0
@@ -14,6 +14,10 @@ body.tts .mes_narrate {
1414 display: inline-block;
1515}
1616
17+body:not(.tts) #ttsExtensionNarrateAll {
18+ display: none;
19+}
20+
1721body.no-hotswap .hotswap,
1822body.no-timer .mes_timer,
1923body.no-timestamps .timestamp,
public/index.html+37 -33
@@ -1292,7 +1292,7 @@
12921292 </div>
12931293 </div>
12941294 <!-- Enable for llama.cpp when the PR is merged: https://github.com/ggerganov/llama.cpp/pull/6839 -->
12951295 <div data-newbie-hidden data-tg-type="ooba, koboldcpp" id="dryBlock" class="wide100p">
12961296 <h4 class="wide100p textAlignCenter" title="DRY penalizes tokens that would extend the end of the input into a sequence that has previously occurred in the input. Set multiplier to 0 to disable." data-i18n="[title]DRY_Repetition_Penalty_desc">
12971297 <label data-i18n="DRY Repetition Penalty">DRY Repetition Penalty</label>
12981298 <a href="https://github.com/oobabooga/text-generation-webui/pull/5677" target="_blank">
@@ -1315,7 +1315,7 @@
13151315 <input class="neo-range-slider" type="range" id="dry_allowed_length_textgenerationwebui" min="1" max="20" step="1" />
13161316 <input class="neo-range-input" type="number" min="1" max="20" step="1" data-for="dry_allowed_length_textgenerationwebui" id="dry_allowed_length_counter_textgenerationwebui">
13171317 </div>
13181318 <div class="alignItemsCenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0" data-tg-type="llamacpp, koboldcpp">
13191319 <small data-i18n="Penalty Range">Penalty Range</small>
13201320 <input class="neo-range-slider" type="range" id="dry_penalty_last_n_textgenerationwebui" min="0" max="8192" step="1" />
13211321 <input class="neo-range-input" type="number" min="0" max="8192" step="1" data-for="dry_penalty_last_n_textgenerationwebui" id="dry_penalty_last_n_counter_textgenerationwebui">
@@ -1696,16 +1696,20 @@
16961696 <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
16971697 </div>
16981698 <div class="inline-drawer-content">
1699+ <label class="checkbox_label flexWrap alignItemsCenter" for="continue_postfix_none">
1700+ <input type="radio" id="continue_postfix_none" name="continue_postfix" value="0">
1701+ <span data-i18n="None">None</span>
1702+ </label>
16991703 <label class="checkbox_label flexWrap alignItemsCenter" for="continue_postfix_space">
17001704 <input type="radio" id="continue_postfix_space" name="continue_postfix" value="01">
17011705 <span data-i18n="Space">Space</span>
17021706 </label>
17031707 <label class="checkbox_label flexWrap alignItemsCenter" for="continue_postfix_newline">
17041708 <input type="radio" id="continue_postfix_newline" name="continue_postfix" value="12">
17051709 <span data-i18n="Newline">Newline</span>
17061710 </label>
17071711 <label class="checkbox_label flexWrap alignItemsCenter" for="continue_postfix_double_newline">
17081712 <input type="radio" id="continue_postfix_double_newline" name="continue_postfix" value="23">
17091713 <span data-i18n="Double Newline">Double Newline</span>
17101714 </label>
17111715 <!-- Hidden input for loading radio buttons from presets. Don't remove! -->
@@ -2348,6 +2352,16 @@
23482352 <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
23492353 <input id="tabby_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="tabby">
23502354 </div>
2355+ <div class="flex1">
2356+ <h4>
2357+ <span data-i18n="Tabby Model">Tabby Model</span>
2358+ </h4>
2359+ </h4>
2360+ <div id="tabby_download_model" class="menu_button menu_button_icon">
2361+ <i class="fa-solid fa-download"></i>
2362+ <span data-i18n="Download">Download</span>
2363+ </div>
2364+ </div>
23512365 </div>
23522366 <div data-tg-type="koboldcpp">
23532367 <div class="flex-container flexFlowColumn">
@@ -2450,17 +2464,6 @@
24502464 <span data-i18n="Alternative server URL (leave empty to use the default value).">
24512465 Alternative server URL (leave empty to use the default value).<br>
24522466 </span>
2453- <div id="ReverseProxyWarningMessage" class="reverse_proxy_warning">
2454- <b data-i18n="Remove your real OAI API Key from the API panel BEFORE typing anything into this box">
2455- Remove your real OAI API Key from the API panel BEFORE typing anything
2456- into this box.
2457- </b>
2458- <hr>
2459- <b data-i18n="We cannot provide support for problems encountered while using an unofficial OpenAI proxy">
2460- We cannot provide support for problems encountered while using an
2461- unofficial OpenAI proxy.
2462- </b>
2463- </div>
24642467 </div>
24652468 <div class="wide100p">
24662469 <input id="openai_reverse_proxy" type="text" class="text_pole" placeholder="https://api.openai.com/v1" maxlength="5000" />
@@ -2482,6 +2485,22 @@
24822485 </div>
24832486 </div>
24842487 </div>
2488+ <div id="ReverseProxyWarningMessage" data-source="openai,claude,mistralai,makersuite">
2489+ <div class="reverse_proxy_warning">
2490+ <b>
2491+ <div data-i18n="Using a proxy that you're not running yourself is a risk to your data privacy.">
2492+ Using a proxy that you're not running yourself is a risk to your data privacy.
2493+ </div>
2494+ <div data-i18n="ANY support requests will be REFUSED if you are using a proxy.">
2495+ ANY support requests will be REFUSED if you are using a proxy.
2496+ </div>
2497+ <hr>
2498+ <i data-i18n="Do not proceed if you do not agree to this!">
2499+ Do not proceed if you do not agree to this!
2500+ </i>
2501+ </b>
2502+ </div>
2503+ </div>
24852504 <form id="openai_form" data-source="openai" action="javascript:void(null);" method="post" enctype="multipart/form-data">
24862505 <h4><span data-i18n="OpenAI API key">OpenAI API key</span></h4>
24872506 <div>
@@ -2837,6 +2856,7 @@
28372856 <option value="llama3-70b-8192">llama3-70b-8192</option>
28382857 <option value="mixtral-8x7b-32768">mixtral-8x7b-32768</option>
28392858 <option value="gemma-7b-it">gemma-7b-it</option>
2859+ <option value="gemma2-9b-it">gemma2-9b-it</option>
28402860 </select>
28412861 </div>
28422862 <div id="perplexity_form" data-source="perplexity">
@@ -5103,23 +5123,6 @@
51035123 </div>
51045124 </div>
51055125 <!-- templates for JS to reuse when needed -->
5106- <div id="scenario_override_template" class="template_element">
5107- <div class="scenario_override range-block flexFlowColumn flex-container">
5108- <div class="range-block-title title_restorable">
5109- <h3><span data-i18n="Chat Scenario Override" class="margin0">Chat Scenario Override</span></h3>
5110- <div title="Remove" data-i18n="[title]Remove" class="menu_button fa-solid fa-trash-can remove_scenario_override"></div>
5111- </div>
5112- <div class="range-block-counter justifyLeft flex-container flexFlowColumn">
5113- <strong>Unique to this chat.</strong>
5114- <span data-group="true">All group members will use the following scenario text instead of what is specified in their character cards.</span>
5115- <span data-character="true">The following scenario text will be used instead of the value set in the character card.</span>
5116- Checkpoints inherit the scenario override from their parent, and can be changed individually after that.
5117- </div>
5118- <div class="range-block-range wide100p">
5119- <textarea class="wide100p chat_scenario" class="text_pole" rows="15" data-i18n="[placeholder]Type here..." placeholder="Type here..."></textarea>
5120- </div>
5121- </div>
5122- </div>
51235126 <div id="chat_world_template" class="template_element">
51245127 <div class="chat_world range-block flexFlowColumn flex-container">
51255128 <div class="range-block-title">
@@ -6422,6 +6425,7 @@
64226425 </div>
64236426 </div>
64246427 <!-- Script includes -->
6428+ <script src="lib/diff_match_patch.js"></script>
64256429 <script src="lib/object-hasown.js"></script>
64266430 <script src="lib/jquery-3.5.1.min.js"></script>
64276431 <script src="lib/jquery-ui.min.js"></script>
public/lib/diff_match_patch.js+55 -0
@@ -0,0 +1,55 @@
1+var diff_match_patch=function(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32},DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;diff_match_patch.Diff=function(a,b){this[0]=a;this[1]=b};diff_match_patch.Diff.prototype.length=2;diff_match_patch.Diff.prototype.toString=function(){return this[0]+","+this[1]};
2+diff_match_patch.prototype.diff_main=function(a,b,c,d){"undefined"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error("Null input. (diff_main)");if(a==b)return a?[new diff_match_patch.Diff(DIFF_EQUAL,a)]:[];"undefined"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,
3+b.length-f);a=this.diff_compute_(a,b,e,d);c&&a.unshift(new diff_match_patch.Diff(DIFF_EQUAL,c));g&&a.push(new diff_match_patch.Diff(DIFF_EQUAL,g));this.diff_cleanupMerge(a);return a};
4+diff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[new diff_match_patch.Diff(DIFF_INSERT,b)];if(!b)return[new diff_match_patch.Diff(DIFF_DELETE,a)];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[new diff_match_patch.Diff(DIFF_INSERT,e.substring(0,g)),new diff_match_patch.Diff(DIFF_EQUAL,f),new diff_match_patch.Diff(DIFF_INSERT,e.substring(g+f.length))],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[new diff_match_patch.Diff(DIFF_DELETE,
5+a),new diff_match_patch.Diff(DIFF_INSERT,b)]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([new diff_match_patch.Diff(DIFF_EQUAL,a)],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};
6+diff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push(new diff_match_patch.Diff(DIFF_EQUAL,""));for(var e=d=b=0,f="",g="";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,
7+0,d[e]);b+=d.length}d=e=0;g=f=""}b++}a.pop();return a};
8+diff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=
9+u)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[new diff_match_patch.Diff(DIFF_DELETE,a),new diff_match_patch.Diff(DIFF_INSERT,b)]};
10+diff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};
11+diff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b="",c=0,g=-1,h=d.length;g<a.length-1;){g=a.indexOf("\n",c);-1==g&&(g=a.length-1);var l=a.substring(c,g+1);(e.hasOwnProperty?e.hasOwnProperty(l):void 0!==e[l])?b+=String.fromCharCode(e[l]):(h==f&&(l=a.substring(c),g=a.length),b+=String.fromCharCode(h),e[l]=h,d[h++]=l);c=g+1}return b}var d=[],e={};d[0]="";var f=4E4,g=c(a);f=65535;var h=c(b);return{chars1:g,chars2:h,lineArray:d}};
12+diff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join("")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};
13+diff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};
14+diff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};
15+diff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g="",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;
16+var d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};
17+diff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,new diff_match_patch.Diff(DIFF_DELETE,e)),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<
18+a.length;){if(a[f-1][0]==DIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,new diff_match_patch.Diff(DIFF_EQUAL,c.substring(0,d))),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,new diff_match_patch.Diff(DIFF_EQUAL,b.substring(0,e))),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,
19+a[f+1][1]=b.substring(e),f++;f++}f++}};
20+diff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);
21+return k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-
22+1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/;
23+diff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,new diff_match_patch.Diff(DIFF_DELETE,e)),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};
24+diff_match_patch.prototype.diff_cleanupMerge=function(a){a.push(new diff_match_patch.Diff(DIFF_EQUAL,""));for(var b=0,c=0,d=0,e="",f="",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,new diff_match_patch.Diff(DIFF_EQUAL,f.substring(0,g))),b++),f=f.substring(g),e=e.substring(g)),
25+g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-g)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),b-=c+d,a.splice(b,c+d),e.length&&(a.splice(b,0,new diff_match_patch.Diff(DIFF_DELETE,e)),b++),f.length&&(a.splice(b,0,new diff_match_patch.Diff(DIFF_INSERT,f)),b++),b++):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=""}""===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-
26+a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,a[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};
27+diff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};
28+diff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,"&amp;").replace(d,"&lt;").replace(e,"&gt;").replace(f,"&para;<br>");switch(h){case DIFF_INSERT:b[g]='<ins style="background:#e6ffe6;">'+l+"</ins>";break;case DIFF_DELETE:b[g]='<del style="background:#ffe6e6;">'+l+"</del>";break;case DIFF_EQUAL:b[g]="<span>"+l+"</span>"}}return b.join("")};
29+diff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join("")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join("")};
30+diff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};
31+diff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]="+"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]="-"+a[c][1].length;break;case DIFF_EQUAL:b[c]="="+a[c][1].length}return b.join("\t").replace(/%20/g," ")};
32+diff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case "+":try{c[d++]=new diff_match_patch.Diff(DIFF_INSERT,decodeURI(h))}catch(k){throw Error("Illegal escape in diff_fromDelta: "+h);}break;case "-":case "=":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error("Invalid number in diff_fromDelta: "+h);h=a.substring(e,e+=l);"="==f[g].charAt(0)?c[d++]=new diff_match_patch.Diff(DIFF_EQUAL,h):c[d++]=
33+new diff_match_patch.Diff(DIFF_DELETE,h);break;default:if(f[g])throw Error("Invalid diff operation in diff_fromDelta: "+f[g]);}}if(e!=a.length)throw Error("Delta length ("+e+") does not equal source text length ("+a.length+").");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error("Null input. (match_main)");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};
34+diff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,
35+c+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};
36+diff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};
37+diff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){if(null===a.start2)throw Error("patch not initialized");for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL,c));(d=b.substring(a.start2+a.length1,
38+a.start2+a.length1+d))&&a.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL,d));a.start1-=c.length;a.start2-=c.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};
39+diff_match_patch.prototype.patch_make=function(a,b,c){if("string"==typeof a&&"string"==typeof b&&"undefined"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&"object"==typeof a&&"undefined"==typeof b&&"undefined"==typeof c)b=a,d=this.diff_text1(b);else if("string"==typeof a&&b&&"object"==typeof b&&"undefined"==typeof c)d=a;else if("string"==typeof a&&"string"==typeof b&&c&&"object"==typeof c)d=a,b=c;else throw Error("Unknown call format to patch_make.");
40+if(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):
41+m.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};
42+diff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=new diff_match_patch.Diff(d.diffs[f][0],d.diffs[f][1]);e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};
43+diff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,
44+g);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===
45+DIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};
46+diff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c="",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift(new diff_match_patch.Diff(DIFF_EQUAL,c)),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;
47+0==e.length||e[e.length-1][0]!=DIFF_EQUAL?(e.push(new diff_match_patch.Diff(DIFF_EQUAL,c)),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};
48+diff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g="";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;""!==g&&(h.length1=h.length2=g.length,h.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL,g)));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=
49+k.length,f+=k.length,h.diffs.push(d.diffs.shift()),l=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push(new diff_match_patch.Diff(g,k)),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push(new diff_match_patch.Diff(g,k)),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);
50+g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,this.Patch_Margin);""!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL,k)));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join("")};
51+diff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split("\n");for(var c=0,d=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error("Invalid patch string: "+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);""===e[2]?(f.start1--,f.length1=1):"0"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);""===e[4]?(f.start2--,f.length2=1):"0"==e[4]?f.length2=0:(f.start2--,f.length2=
52+parseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error("Illegal escape in patch_fromText: "+g);}if("-"==e)f.diffs.push(new diff_match_patch.Diff(DIFF_DELETE,g));else if("+"==e)f.diffs.push(new diff_match_patch.Diff(DIFF_INSERT,g));else if(" "==e)f.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL,g));else if("@"==e)break;else if(""!==e)throw Error('Invalid patch mode "'+e+'" in: '+g);c++}}return b};
53+diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};
54+diff_match_patch.patch_obj.prototype.toString=function(){for(var a=["@@ -"+(0===this.length1?this.start1+",0":1==this.length1?this.start1+1:this.start1+1+","+this.length1)+" +"+(0===this.length2?this.start2+",0":1==this.length2?this.start2+1:this.start2+1+","+this.length2)+" @@\n"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b="+";break;case DIFF_DELETE:b="-";break;case DIFF_EQUAL:b=" "}a[c+1]=b+encodeURI(this.diffs[c][1])+"\n"}return a.join("").replace(/%20/g," ")};
55+this.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;
public/script.js+80 -40
@@ -101,6 +101,7 @@ import {
101101 proxies,
102102 loadProxyPresets,
103103 selected_proxy,
104+ initOpenai,
104105} from './scripts/openai.js';
105106
106107import {
@@ -159,7 +160,7 @@ import {
159160import { debounce_timeout } from './scripts/constants.js';
160161
161162import { ModuleWorkerWrapper, doDailyExtensionUpdatesCheck, extension_settings, getContext, loadExtensionSettings, renderExtensionTemplate, renderExtensionTemplateAsync, runGenerationInterceptors, saveMetadataDebounced, writeExtensionField } from './scripts/extensions.js';
162163import { COMMENT_NAME_DEFAULT, executeSlashCommands, executeSlashCommandsOnChatInput, executeSlashCommandsWithOptions, getSlashCommandsHelp, initDefaultSlashCommands, isExecutingCommandsFromChatInput, pauseScriptExecution, processChatSlashCommands, registerSlashCommand, stopScriptExecution } from './scripts/slash-commands.js';
163164import {
164165 tag_map,
165166 tags,
@@ -851,6 +852,7 @@ var kobold_horde_model = '';
851852export let token;
852853
853854var PromptArrayItemForRawPromptDisplay;
855+var priorPromptArrayItemForRawPromptDisplay;
854856
855857/** The tag of the active character. (NOT the id) */
856858export let active_character = '';
@@ -906,13 +908,14 @@ async function firstLoadInit() {
906908 await getClientVersion();
907909 await readSecretState();
908910 initLocales();
911+ initDefaultSlashCommands();
909912 await getSystemMessages();
910913 sendSystemMessage(system_message_types.WELCOME);
911914 await getSettings();
912915 initKeyboard();
913916 initDynamicStyles();
914917 initTags();
915918 initDefaultSlashCommandsinitOpenai();
916919 await getUserAvatars(true, user_avatar);
917920 await getCharacters();
918921 await getBackgrounds();
@@ -4906,6 +4909,9 @@ export function findItemizedPromptSet(itemizedPrompts, incomingMesId) {
49064909 PromptArrayItemForRawPromptDisplay = i;
49074910 console.log(`wanting to raw display of ArrayItem: ${PromptArrayItemForRawPromptDisplay} which is mesID ${incomingMesId}`);
49084911 console.log(itemizedPrompts[thisPromptSet]);
4912+ break;
4913+ } else if (itemizedPrompts[i].rawPrompt) {
4914+ priorPromptArrayItemForRawPromptDisplay = i;
49094915 }
49104916 }
49114917 return thisPromptSet;
@@ -4924,6 +4930,7 @@ async function promptItemize(itemizedPrompts, requestedMesId) {
49244930 }
49254931
49264932 const params = await itemizedParams(itemizedPrompts, thisPromptSet);
4933+ const flatten = (rawPrompt) => Array.isArray(rawPrompt) ? rawPrompt.map(x => x.content).join('\n') : rawPrompt;
49274934
49284935 const template = params.this_main_api == 'openai'
49294936 ? await renderTemplateAsync('itemizationChat', params)
@@ -4931,6 +4938,32 @@ async function promptItemize(itemizedPrompts, requestedMesId) {
49314938
49324939 const popup = new Popup(template, POPUP_TYPE.TEXT);
49334940
4941+ /** @type {HTMLElement} */
4942+ const diffPrevPrompt = popup.dlg.querySelector('#diffPrevPrompt');
4943+ if (priorPromptArrayItemForRawPromptDisplay) {
4944+ diffPrevPrompt.style.display = '';
4945+ diffPrevPrompt.addEventListener('click', function () {
4946+ const dmp = new diff_match_patch();
4947+ const text1 = flatten(itemizedPrompts[priorPromptArrayItemForRawPromptDisplay].rawPrompt);
4948+ const text2 = flatten(itemizedPrompts[PromptArrayItemForRawPromptDisplay].rawPrompt);
4949+
4950+ dmp.Diff_Timeout = 2.0;
4951+
4952+ const d = dmp.diff_main(text1, text2);
4953+ let ds = dmp.diff_prettyHtml(d);
4954+ // make it readable
4955+ ds = ds.replaceAll('background:#e6ffe6;', 'background:#b9f3b9; color:black;');
4956+ ds = ds.replaceAll('background:#ffe6e6;', 'background:#f5b4b4; color:black;');
4957+ ds = ds.replaceAll('&para;', '');
4958+ const container = document.createElement('div');
4959+ container.innerHTML = DOMPurify.sanitize(ds);
4960+ const rawPromptWrapper = document.getElementById('rawPromptWrapper');
4961+ rawPromptWrapper.replaceChildren(container);
4962+ $('#rawPromptPopup').slideToggle();
4963+ });
4964+ } else {
4965+ diffPrevPrompt.style.display = 'none';
4966+ }
49344967 popup.dlg.querySelector('#copyPromptToClipboard').addEventListener('click', function () {
49354968 let rawPrompt = itemizedPrompts[PromptArrayItemForRawPromptDisplay].rawPrompt;
49364969 let rawPromptValues = rawPrompt;
@@ -4949,16 +4982,11 @@ async function promptItemize(itemizedPrompts, requestedMesId) {
49494982 console.log(itemizedPrompts);
49504983 console.log(itemizedPrompts[PromptArrayItemForRawPromptDisplay].rawPrompt);
49514984
49524985 letconst rawPrompt = flatten(itemizedPrompts[PromptArrayItemForRawPromptDisplay].rawPrompt);
4953- let rawPromptValues = rawPrompt;
4954-
4955- if (Array.isArray(rawPrompt)) {
4956- rawPromptValues = rawPrompt.map(x => x.content).join('\n');
4957- }
49584986
49594987 //let DisplayStringifiedPrompt = JSON.stringify(itemizedPrompts[PromptArrayItemForRawPromptDisplay].rawPrompt).replace(/\n+/g, '<br>');
49604988 const rawPromptWrapper = document.getElementById('rawPromptWrapper');
49614989 rawPromptWrapper.innerText = rawPromptValuesrawPrompt;
49624990 $('#rawPromptPopup').slideToggle();
49634991 });
49644992
@@ -5020,6 +5048,10 @@ async function sendGenerationRequest(type, data) {
50205048 * @returns {Promise<any>} Streaming generator
50215049 */
50225050async function sendStreamingRequest(type, data) {
5051+ if (abortController?.signal?.aborted) {
5052+ throw new Error('Generation was aborted.');
5053+ }
5054+
50235055 switch (main_api) {
50245056 case 'openai':
50255057 return await sendOpenAIRequest(type, data.prompt, streamingProcessor.abortController.signal);
@@ -6110,7 +6142,7 @@ export function changeMainAPI() {
61106142 }
61116143
61126144 if (selectedVal === 'textgenerationwebui' || selectedVal === 'novel') {
61136145 console.logdebug('enabling amount_gen for ooba/novel');
61146146 activeItem.amountGenElem.find('input').prop('disabled', false);
61156147 activeItem.amountGenElem.css('opacity', 1.0);
61166148 }
@@ -7152,20 +7184,23 @@ function updateFavButtonState(state) {
71527184 $('#favorite_button').toggleClass('fav_off', !fav_ch_checked);
71537185}
71547186
71557187export async function setScenarioOverride() {
71567188 if (!selected_group && !this_chid) {
71577189 console.warn('setScenarioOverride() -- no selected group or character');
71587190 return;
71597191 }
71607192
7161- const template = $('#scenario_override_template .scenario_override').clone();
71627193 const metadataValue = chat_metadata['scenario'] || '';
71637194 const isGroup = !!selected_group;
7164- template.find('[data-group="true"]').toggle(isGroup);
7195+
7165- template.find('[data-character="true"]').toggle(!isGroup);
7196+ const $template = $(await renderTemplateAsync('scenarioOverride'));
7166- template.find('.chat_scenario').val(metadataValue).on('input', onScenarioOverrideInput);
7197+ $template.find('[data-group="true"]').toggle(isGroup);
71677198 $template.find('.remove_scenario_override[data-character="true"]').ontoggle('click', onScenarioOverrideRemoveClick!isGroup);
7168- callPopup(template, 'text');
7199+ // TODO: Why does this save on every character input? Save on popup close
7200+ $template.find('.chat_scenario').val(metadataValue).on('input', onScenarioOverrideInput);
7201+ $template.find('.remove_scenario_override').on('click', onScenarioOverrideRemoveClick);
7202+
7203+ await callGenericPopup($template, POPUP_TYPE.TEXT, '');
71697204}
71707205
71717206function onScenarioOverrideInput() {
@@ -7832,22 +7867,23 @@ window['SillyTavern'].getContext = function () {
78327867 saveReply,
78337868 substituteParams,
78347869 substituteParamsExtended,
7870+ SlashCommandParser,
7871+ executeSlashCommandsWithOptions,
7872+ /** @deprecated Use SlashCommandParser.addCommandObject() instead */
78357873 registerSlashCommand: registerSlashCommand,
7874+ /** @deprecated Use executeSlashCommandWithOptions instead */
78367875 executeSlashCommands: executeSlashCommands,
78377876 timestampToMoment: timestampToMoment,
7838- /**
7877+ /** @deprecated Handlebars for extensions are no longer supported. */
7839- * @deprecated Handlebars for extensions are no longer supported.
7840- */
78417878 registerHelper: () => { },
78427879 registerMacro: MacrosParser.registerMacro.bind(MacrosParser),
78437880 unregisterMacro: MacrosParser.unregisterMacro.bind(MacrosParser),
78447881 registedDebugFunction: registerDebugFunction,
7845- /**
7882+ /** @deprecated Use renderExtensionTemplateAsync instead. */
7846- * @deprecated Use renderExtensionTemplateAsync instead.
7847- */
78487883 renderExtensionTemplate: renderExtensionTemplate,
78497884 renderExtensionTemplateAsync: renderExtensionTemplateAsync,
78507885 registerDataBankScraper: ScraperManager.registerDataBankScraper,
7886+ /** @deprecated Use callGenericPopup or Popup instead. */
78517887 callPopup: callPopup,
78527888 callGenericPopup: callGenericPopup,
78537889 showLoader: showLoader,
@@ -7869,10 +7905,9 @@ window['SillyTavern'].getContext = function () {
78697905 tagMap: tag_map,
78707906 menuType: menu_type,
78717907 createCharacterData: create_save,
7872- /**
7908+ /** @deprecated Legacy snake-case naming, compatibility with old extensions */
7873- * @deprecated Legacy snake-case naming, compatibility with old extensions
7874- */
78757909 event_types: event_types,
7910+ Popup: Popup,
78767911 POPUP_TYPE: POPUP_TYPE,
78777912 POPUP_RESULT: POPUP_RESULT,
78787913 };
@@ -9094,10 +9129,6 @@ jQuery(async function () {
90949129 $('#groupCurrentMemberListToggle .inline-drawer-icon').trigger('click');
90959130 }, 200);
90969131
9097- $('#chat').on('wheel touchstart', () => {
9098- scrollLock = true;
9099- });
9100-
91019132 $(document).on('click', '.api_loading', cancelStatusCheck);
91029133
91039134 //////////INPUT BAR FOCUS-KEEPING LOGIC/////////////
@@ -9202,23 +9233,32 @@ jQuery(async function () {
92029233 */
92039234 function autoFitEditTextArea(e) {
92049235 scroll_holder = chatElement[0].scrollTop;
92059236 e.style.height = '00px';
92069237 e.style.heightconst newHeight = `${e.scrollHeight + 4}px`;
9238+ e.style.height = `${newHeight}px`;
92079239 is_use_scroll_holder = true;
92089240 }
92099241 const autoFitEditTextAreaDebounced = debounce(autoFitEditTextArea, debounce_timeout.short);
92109242 document.addEventListener('input', e => {
92119243 if (e.target instanceof HTMLTextAreaElement && e.target.classList.contains('edit_textarea')) {
92129244 const immediatelyscrollbarShown = e.target.scrollHeightclientWidth >< e.target.offsetHeightoffsetWidth ||&& e.target.valueoffsetHeight ==>= ''window.innerHeight * 0.75;
9245+ const immediately = (e.target.scrollHeight > e.target.offsetHeight && !scrollbarShown) || e.target.value === '';
92139246 immediately ? autoFitEditTextArea(e.target) : autoFitEditTextAreaDebounced(e.target);
92149247 }
92159248 });
9216- document.getElementById('chat').addEventListener('scroll', function () {
9249+ const chatElementScroll = document.getElementById('chat');
9250+ chatElementScroll.addEventListener('wheel', function () {
9251+ scrollLock = true;
9252+ }, { passive: true });
9253+ chatElementScroll.addEventListener('touchstart', function () {
9254+ scrollLock = true;
9255+ }, { passive: true });
9256+ chatElementScroll.addEventListener('scroll', function () {
92179257 if (is_use_scroll_holder) {
92189258 this.scrollTop = scroll_holder;
92199259 is_use_scroll_holder = false;
92209260 }
9221- });
9261+ }, { passive: true });
92229262
92239263 $(document).on('click', '.mes', function () {
92249264 //when a 'delete message' parent div is clicked
@@ -9769,7 +9809,7 @@ jQuery(async function () {
97699809 });
97709810
97719811 //confirms message deletion with the "ok" button
97729812 $('#dialogue_del_mes_ok').clickon('click', async function () {
97739813 $('#dialogue_del_mes').css('display', 'none');
97749814 $('#send_form').css('display', css_send_form_display);
97759815 $('.del_checkbox').each(function () {
@@ -9785,7 +9825,7 @@ jQuery(async function () {
97859825 chat.length = this_del_mes;
97869826 await saveChatConditional();
97879827 chatElement.scrollTop(chatElement[0].scrollHeight);
97889828 await eventSource.emit(event_types.MESSAGE_DELETED, chat.length);
97899829 $('#chat .mes').removeClass('last_mes');
97909830 $('#chat .mes').last().addClass('last_mes');
97919831 } else {
@@ -10616,7 +10656,7 @@ jQuery(async function () {
1061610656 openCharacterWorldPopup();
1061710657 break;
1061810658 case 'set_chat_scenario':
1061910659 await setScenarioOverride();
1062010660 break;
1062110661 case 'renameCharButton':
1062210662 renameCharacter();
@@ -10637,7 +10677,7 @@ jQuery(async function () {
1063710677 const source = getCharacterSource(this_chid);
1063810678 if (source && isValidUrl(source)) {
1063910679 const url = new URL(source);
1064010680 const confirm = await callPopupPopup.show.confirm(`'Open Source', `<span>Do you want to open the link to ${url.hostname} in a new tab?</span><var>${url}</var>`, 'confirm');
1064110681 if (confirm) {
1064210682 window.open(source, '_blank');
1064310683 }
@@ -10646,7 +10686,7 @@ jQuery(async function () {
1064610686 }
1064710687 } break;
1064810688 case 'replace_update': {
1064910689 const confirm = await callPopupPopup.show.confirm('Replace Character', '<p><b>Choose a new character card to replace this character with.</b></p><p>All chats, assets and group memberships will be preserved, but local changes to the character data will be lost.<br /p><p>Proceed?</p>', 'confirm', '');
1065010690 if (confirm) {
1065110691 async function uploadReplacementCard(e) {
1065210692 const file = e.target.files[0];
public/scripts/RossAscends-mods.js+12 -10
@@ -696,18 +696,18 @@ const isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
696696function autoFitSendTextArea() {
697697 const originalScrollBottom = chatBlock.scrollHeight - (chatBlock.scrollTop + chatBlock.offsetHeight);
698698 if (Math.ceil(sendTextArea.scrollHeight + 3) >= Math.floor(sendTextArea.offsetHeight)) {
699- // Needs to be pulled dynamically because it is affected by font size changes
699+ const sendTextAreaMinHeight = '0px';
700- const sendTextAreaMinHeight = window.getComputedStyle(sendTextArea).getPropertyValue('min-height');
701700 sendTextArea.style.height = sendTextAreaMinHeight;
702701 }
703702 sendTextArea.style.heightconst newHeight = sendTextArea.scrollHeight + 3 + 'px';
703+ sendTextArea.style.height = `${newHeight}px`;
704704
705705 if (!isFirefox) {
706706 const newScrollTop = Math.round(chatBlock.scrollHeight - (chatBlock.offsetHeight + originalScrollBottom));
707707 chatBlock.scrollTop = newScrollTop;
708708 }
709709}
710710export const autoFitSendTextAreaDebounced = debounce(autoFitSendTextArea, debounce_timeout.short);
711711
712712// ---------------------------------------------------
713713
@@ -881,12 +881,14 @@ export function initRossMods() {
881881 saveSettingsDebounced();
882882 });
883883
884884 $(sendTextArea).onaddEventListener('input', () => {
885885 if (sendTextArea.scrollHeight >const sendTextArea.offsetHeighthasContent ||= sendTextArea.value =!== '') {;
886- autoFitSendTextArea();
886+ const fitsCurrentSize = sendTextArea.scrollHeight <= sendTextArea.offsetHeight;
887- } else {
887+ const isScrollbarShown = sendTextArea.clientWidth < sendTextArea.offsetWidth;
888- autoFitSendTextAreaDebounced();
888+ const isHalfScreenHeight = sendTextArea.offsetHeight >= window.innerHeight / 2;
889- }
889+ const needsDebounce = hasContent && (fitsCurrentSize || (isScrollbarShown && isHalfScreenHeight));
890+ if (needsDebounce) autoFitSendTextAreaDebounced();
891+ else autoFitSendTextArea();
890892 saveUserInputDebounced();
891893 });
892894
public/scripts/extensions/assets/confirm.html+0 -9
@@ -1,9 +0,0 @@
1-<div class="m-b-1">
2- Are you sure you want to connect to '{{url}}'?
3-</div>
4-<div class="flex-container justifyCenter">
5- <label class="checkbox_label" for="assets-remember">
6- <input type="checkbox" id="assets-remember">
7- Don't ask again for this URL
8- </label>
9-</div>
public/scripts/extensions/assets/index.js+26 -11
@@ -3,11 +3,11 @@ TODO:
33*/
44//const DEBUG_TONY_SAMA_FORK_MODE = true
55
66import { getRequestHeaders, callPopup, processDroppedFiles, eventSource, event_types } from '../../../script.js';
77import { deleteExtension, extensionNames, getContext, installExtension, renderExtensionTemplateAsync } from '../../extensions.js';
88import { POPUP_TYPE, Popup, callGenericPopup } from '../../popup.js';
99import { executeSlashCommands } from '../../slash-commands.js';
1010import { flashHighlight, getStringHash, isValidUrl } from '../../utils.js';
1111export { MODULE_NAME };
1212
1313const MODULE_NAME = 'assets';
@@ -219,6 +219,12 @@ function downloadAssetsList(url) {
219219 $('#assets_menu').show();
220220 })
221221 .catch((error) => {
222+ // Info hint if the user maybe... likely accidently was trying to install an extension and we wanna help guide them? uwu :3
223+ const installButton = $('#third_party_extension_button');
224+ flashHighlight(installButton, 10_000);
225+ toastr.info('Click the flashing button at the top right corner of the menu.', 'Trying to install a custom extension?', { timeOut: 10_000 });
226+
227+ // Error logged after, to appear on top
222228 console.error(error);
223229 toastr.error('Problem with assets URL', DEBUG_PREFIX + 'Cannot get assets list');
224230 $('#assets-connect-button').addClass('fa-plug-circle-exclamation');
@@ -405,22 +411,31 @@ jQuery(async () => {
405411 openCharacterBrowser(false);
406412 });
407413
414+ const installHintButton = windowHtml.find('.assets-install-hint-link');
415+ installHintButton.on('click', async function () {
416+ const installButton = $('#third_party_extension_button');
417+ flashHighlight(installButton, 5000);
418+ toastr.info('Click the flashing button to install extensions.', 'How to install extensions?');
419+ });
420+
408421 const connectButton = windowHtml.find('#assets-connect-button');
409422 connectButton.on('click', async function () {
410423 const url = DOMPurify.sanitize(String(assetsJsonUrl.val()));
411424 const rememberKey = `Assets_SkipConfirm_${getStringHash(url)}`;
412425 const skipConfirm = localStorage.getItem(rememberKey) === 'true';
413426
414- const template = await renderExtensionTemplateAsync(MODULE_NAME, 'confirm', { url });
427+ const confirmation = skipConfirm || await Popup.show.confirm('Loading Asset List', `<span>Are you sure you want to connect to the following url?</span><var>${url}</var>`, {
415- const confirmation = skipConfirm || await callPopup(template, 'confirm');
428+ customInputs: [{ id: 'assets-remember', label: 'Don\'t ask again for this URL' }],
416-
429+ onClose: popup => {
417430 if (confirmationpopup.result) {
418- try {
431+ const rememberValue = popup.inputResults.get('assets-remember');
419- if (!skipConfirm) {
420- const rememberValue = Boolean($('#assets-remember').prop('checked'));
421432 localStorage.setItem(rememberKey, String(rememberValue));
422433 }
434+ },
435+ });
423436
437+ if (confirmation) {
438+ try {
424439 console.debug(DEBUG_PREFIX, 'Confimation, loading assets...');
425440 downloadAssetsList(url);
426441 connectButton.removeClass('fa-plug-circle-exclamation');
public/scripts/extensions/assets/style.css+9 -1
@@ -7,10 +7,18 @@
77 margin-left: 5px;
88}
99
10+.assets-url-block {
11+ display: flex;
12+ flex-direction: column;
13+}
14+
15+.assets-install-hint-link {
16+ cursor: help;
17+}
18+
1019.assets-connect-div {
1120 display: flex;
1221 flex-direction: row;
13- padding: 5px;
1422}
1523
1624.assets-list-git {
public/scripts/extensions/assets/window.html+21 -1
@@ -5,10 +5,30 @@
55 <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
66 </div>
77 <div class="inline-drawer-content">
8+ <small>
9+ <span data-i18n="Load a custom asset list or select">
10+ Load a custom asset list or select
11+ </span>
12+ <a class="assets-install-hint-link" data-i18n="Install&nbsp;Extension">Install&nbsp;Extension</a>
13+ <span data-i18n="to install 3rd party extensions.">
14+ to install 3rd party extensions.
15+ </span>
16+ </small>
17+ <div class="assets-url-block m-b-1 m-t-1">
818 <label for="assets-json-url-field" data-i18n="Assets URL">Assets URL</label>
19+ <small title="Load a list of extensions & assets based on an asset list file.
20+
21+The default Asset URL in this field points to the list of offical first party extensions and assets.
22+If you have a custom asset list, you can insert it here.
23+
24+To install a single 3rd party extension, use the &quot;Install Extensions&quot; button on the top right.">
25+ <span>Load an asset list</span>
26+ <div class="fa-solid fa-circle-info opacity50p"></div>
27+ </small>
928 <div class="assets-connect-div">
1029 <input id="assets-json-url-field" class="text_pole widthUnset flex1">
1130 <i id="assets-connect-button" class="menu_button fa-solid fa-plug-circle-exclamation fa-xl redOverlayGlow" title="Load Asset List" data-i18n="[title]Load Asset List"></i>
31+ </div>
1232 </div>
1333 <div id="assets_filters" class="flex-container">
1434 <select id="assets_type_select" class="text_pole flex1">
public/scripts/extensions/caption/index.js+3 -2
@@ -333,8 +333,9 @@ async function getCaptionForFile(file, prompt, quiet) {
333333 return caption;
334334 }
335335 catch (error) {
336- toastr.error('Failed to caption image.');
336+ const errorMessage = error.message || 'Unknown error';
337- console.log(error);
337+ toastr.error(errorMessage, "Failed to caption image.");
338+ console.error(error);
338339 return '';
339340 }
340341 finally {
public/scripts/extensions/memory/index.js+6 -2
@@ -804,7 +804,11 @@ function setMemoryContext(value, saveToMessage, index = null) {
804804 const context = getContext();
805805 context.setExtensionPrompt(MODULE_NAME, formatMemoryValue(value), extension_settings.memory.position, extension_settings.memory.depth, false, extension_settings.memory.role);
806806 $('#memory_contents').val(value);
807- console.log('Summary set to: ' + value, 'Position: ' + extension_settings.memory.position, 'Depth: ' + extension_settings.memory.depth, 'Role: ' + extension_settings.memory.role);
807+
808+ const summaryLog = value
809+ ? `Summary set to: ${value}. Position: ${extension_settings.memory.position}. Depth: ${extension_settings.memory.depth}. Role: ${extension_settings.memory.role}`
810+ : 'Summary has no content';
811+ console.debug(summaryLog);
808812
809813 if (saveToMessage && context.chat.length) {
810814 const idx = index ?? context.chat.length - 2;
@@ -910,7 +914,7 @@ jQuery(async function () {
910914
911915 await addExtensionControls();
912916 loadSettings();
913917 eventSource.onmakeLast(event_types.MESSAGE_RECEIVEDCHARACTER_MESSAGE_RENDERED, onChatEvent);
914918 eventSource.on(event_types.MESSAGE_DELETED, onChatEvent);
915919 eventSource.on(event_types.MESSAGE_EDITED, onChatEvent);
916920 eventSource.on(event_types.MESSAGE_SWIPED, onChatEvent);
public/scripts/extensions/quick-reply/index.js+8 -7
@@ -14,6 +14,7 @@ import { SettingsUi } from './src/ui/SettingsUi.js';
1414
1515
1616const _VERBOSE = true;
17+export const debug = (...msg) => _VERBOSE ? console.debug('[QR2]', ...msg) : null;
1718export const log = (...msg) => _VERBOSE ? console.log('[QR2]', ...msg) : null;
1819export const warn = (...msg) => _VERBOSE ? console.warn('[QR2]', ...msg) : null;
1920/**
@@ -206,18 +207,18 @@ const init = async () => {
206207 window['quickReplyApi'] = quickReplyApi;
207208};
208209const finalizeInit = async () => {
209210 logdebug('executing startup');
210211 await autoExec.handleStartup();
211212 logdebug('/executing startup');
212213
213214 logdebug(`executing queue (${executeQueue.length} items)`);
214215 while (executeQueue.length > 0) {
215216 const func = executeQueue.shift();
216217 await func();
217218 }
218219 logdebug('/executing queue');
219220 isReady = true;
220221 logdebug('READY');
221222};
222223await init();
223224
@@ -238,7 +239,7 @@ eventSource.on(event_types.CHAT_CHANGED, (...args)=>executeIfReadyElseQueue(onCh
238239const onUserMessage = async () => {
239240 await autoExec.handleUser();
240241};
241242eventSource.onmakeFirst(event_types.USER_MESSAGE_RENDERED, (...args)=>executeIfReadyElseQueue(onUserMessage, args));
242243
243244const onAiMessage = async (messageId) => {
244245 if (['...'].includes(chat[messageId]?.mes)) {
@@ -248,7 +249,7 @@ const onAiMessage = async (messageId) => {
248249
249250 await autoExec.handleAi();
250251};
251252eventSource.onmakeFirst(event_types.CHARACTER_MESSAGE_RENDERED, (...args)=>executeIfReadyElseQueue(onAiMessage, args));
252253
253254const onGroupMemberDraft = async () => {
254255 await autoExec.handleGroupMemberDraft();
public/scripts/extensions/regex/index.js+6 -6
@@ -1,13 +1,13 @@
11import { callPopup, characters, eventSource, event_types, getCurrentChatId, reloadCurrentChat, saveSettingsDebounced, this_chid } from '../../../script.js';
22import { extension_settings, renderExtensionTemplateAsync, writeExtensionField } from '../../extensions.js';
33import { selected_group } from '../../group-chats.js';
4+import { callGenericPopup, POPUP_TYPE } from '../../popup.js';
45import { SlashCommand } from '../../slash-commands/SlashCommand.js';
56import { ARGUMENT_TYPE, SlashCommandArgument, SlashCommandNamedArgument } from '../../slash-commands/SlashCommandArgument.js';
67import { enumIcons } from '../../slash-commands/SlashCommandCommonEnumsProvider.js';
78import { SlashCommandEnumValue, enumTypes } from '../../slash-commands/SlashCommandEnumValue.js';
89import { SlashCommandParser } from '../../slash-commands/SlashCommandParser.js';
910import { download, getFileText, getSortableDelay, uuidv4 } from '../../utils.js';
10-import { resolveVariable } from '../../variables.js';
1111import { regex_placement, runRegexScript } from './engine.js';
1212
1313/**
@@ -141,7 +141,7 @@ async function loadRegexScripts() {
141141 await onRegexEditorOpenClick(scriptHtml.attr('id'), isScoped);
142142 });
143143 scriptHtml.find('.move_to_global').on('click', async function () {
144144 const confirm = await callPopupcallGenericPopup('Are you sure you want to move this regex script to global?', 'confirm'POPUP_TYPE.CONFIRM);
145145
146146 if (!confirm) {
147147 return;
@@ -161,7 +161,7 @@ async function loadRegexScripts() {
161161 return;
162162 }
163163
164164 const confirm = await callPopupcallGenericPopup('Are you sure you want to move this regex script to scoped?', 'confirm'POPUP_TYPE.CONFIRM);
165165
166166 if (!confirm) {
167167 return;
@@ -176,7 +176,7 @@ async function loadRegexScripts() {
176176 download(fileData, fileName, 'application/json');
177177 });
178178 scriptHtml.find('.delete_regex').on('click', async function () {
179179 const confirm = await callPopupcallGenericPopup('Are you sure you want to delete this regex script?', 'confirm'POPUP_TYPE.CONFIRM);
180180
181181 if (!confirm) {
182182 return;
@@ -442,7 +442,7 @@ async function checkEmbeddedRegexScripts() {
442442 if (!localStorage.getItem(checkKey)) {
443443 localStorage.setItem(checkKey, 'true');
444444 const template = await renderExtensionTemplateAsync('regex', 'embeddedScripts', {});
445445 const result = await callPopupcallGenericPopup(template, 'confirm'POPUP_TYPE.CONFIRM, '', { okButton: 'Yes' });
446446
447447 if (result) {
448448 extension_settings.character_allowed_regex.push(avatar);
@@ -493,7 +493,7 @@ jQuery(async () => {
493493 template.find('#regex_import_target_global').on('input', () => target = 'global');
494494 template.find('#regex_import_target_scoped').on('input', () => target = 'scoped');
495495
496496 await callPopupcallGenericPopup(template, 'text'POPUP_TYPE.TEXT);
497497
498498 const inputElement = this instanceof HTMLInputElement && this;
499499 for (const file of inputElement.files) {
public/scripts/extensions/stable-diffusion/index.js+9 -2
@@ -2178,6 +2178,11 @@ function getQuietPrompt(mode, trigger) {
21782178 return stringFormat(extension_settings.sd.prompts[mode], trigger);
21792179}
21802180
2181+/**
2182+ * Sanitizes generated prompt for image generation.
2183+ * @param {string} str String to process
2184+ * @returns {string} Processed reply
2185+ */
21812186function processReply(str) {
21822187 if (!str) {
21832188 return '';
@@ -2187,7 +2192,8 @@ function processReply(str) {
21872192 str = str.replaceAll('“', '');
21882193 str = str.replaceAll('.', ',');
21892194 str = str.replaceAll('\n', ', ');
2190- str = str.replace(/[^a-zA-Z0-9,:_(){}[\]\-']+/g, ' ');
2195+ str = str.normalize('NFD');
2196+ str = str.replace(/[^a-zA-Z0-9,:_(){}<>[\]\-']+/g, ' ');
21912197 str = str.replace(/\s+/g, ' '); // Collapse multiple whitespaces into one
21922198 str = str.trim();
21932199
@@ -3353,7 +3359,7 @@ async function addSDGenButtons() {
33533359
33543360 $(document).on('click touchend', function (e) {
33553361 const target = $(e.target);
33563362 if (target.is(dropdown) || target.closest(dropdown).length) return;
33573363 if (target.is(button) && !dropdown.is(':visible') && $('#send_but').is(':visible')) {
33583364 e.preventDefault();
33593365
@@ -3365,6 +3371,7 @@ async function addSDGenButtons() {
33653371 });
33663372
33673373 $('#sd_dropdown [id]').on('click', function () {
3374+ dropdown.fadeOut(animation_duration);
33683375 const id = $(this).attr('id');
33693376 const idParamMap = {
33703377 'sd_you': 'you',
public/scripts/extensions/tts/index.js+19 -3
@@ -348,13 +348,18 @@ function onAudioControlClicked() {
348348}
349349
350350function addAudioControl() {
351-
352351 $('#tts_wand_container').append(`
353352 <div id="ttsExtensionMenuItem" class="list-group-item flex-container flexGap5">
354353 <div id="tts_media_control" class="extensionsMenuExtensionButton "/></div>
355354 TTS Playback
356355 </div>`);
356+ $('#tts_wand_container').append(`
357+ <div id="ttsExtensionNarrateAll" class="list-group-item flex-container flexGap5">
358+ <div class="extensionsMenuExtensionButton fa-solid fa-radio"></div>
359+ Narrate All Chat
360+ </div>`);
357361 $('#ttsExtensionMenuItem').attr('title', 'TTS play/pause').on('click', onAudioControlClicked);
362+ $('#ttsExtensionNarrateAll').attr('title', 'Narrate all messages in the current chat. Includes user messages, excludes hidden comments.').on('click', playFullConversation);
358363 updateUiAudioPlayState();
359364}
360365
@@ -512,12 +517,23 @@ async function processTtsQueue() {
512517 }
513518}
514519
515-// Secret function for now
516520async function playFullConversation() {
521+ resetTtsPlayback();
522+
523+ if (!extension_settings.tts.enabled) {
524+ return toastr.warning('TTS is disabled. Please enable it in the extension settings.');
525+ }
526+
517527 const context = getContext();
518- const chat = context.chat;
528+ const chat = context.chat.filter(x => !x.is_system && x.mes !== '...' && x.mes !== '');
529+
530+ if (chat.length === 0) {
531+ return toastr.info('No messages to narrate.');
532+ }
533+
519534 ttsJobQueue = chat;
520535}
536+
521537window['playFullConversation'] = playFullConversation;
522538
523539//#############################//
public/scripts/i18n.js+5 -3
@@ -4,10 +4,10 @@ import { updateSecretDisplay } from './secrets.js';
44const storageKey = 'language';
55const overrideLanguage = localStorage.getItem(storageKey);
66const localeFile = String(overrideLanguage || navigator.language || navigator.userLanguage || 'en').toLowerCase();
7-const langs = await fetch('/locales/lang.json').then(response => response.json());
7+var langs;
88// Don't change to let/const! It will break module loading.
99// eslint-disable-next-line prefer-const
10-var localeData = await getLocaleData(localeFile);
10+var localeData;
1111
1212/**
1313 * An observer that will check if any new i18n elements are added to the document
@@ -214,7 +214,9 @@ function addLanguagesToDropdown() {
214214 }
215215}
216216
217217export async function initLocales() {
218+ langs = await fetch('/locales/lang.json').then(response => response.json());
219+ localeData = await getLocaleData(localeFile);
218220 applyLocale();
219221 addLanguagesToDropdown();
220222 updateSecretDisplay();
public/scripts/instruct-mode.js+5 -0
@@ -333,6 +333,9 @@ export function formatInstructModeChat(name, mes, isUser, isNarrator, forceAvata
333333 if (power_user.instruct.macro) {
334334 prefix = substituteParams(prefix, name1, name2);
335335 prefix = prefix.replace(/{{name}}/gi, name || 'System');
336+
337+ suffix = substituteParams(suffix, name1, name2);
338+ suffix = suffix.replace(/{{name}}/gi, name || 'System');
336339 }
337340
338341 if (!suffix && power_user.instruct.wrap) {
@@ -398,6 +401,8 @@ export function formatInstructModeExamples(mesExamplesArray, name1, name2) {
398401
399402 inputPrefix = inputPrefix.replace(/{{name}}/gi, name1);
400403 outputPrefix = outputPrefix.replace(/{{name}}/gi, name2);
404+ inputSuffix = inputSuffix.replace(/{{name}}/gi, name1);
405+ outputSuffix = outputSuffix.replace(/{{name}}/gi, name2);
401406
402407 if (!inputSuffix && power_user.instruct.wrap) {
403408 inputSuffix = '\n';
public/scripts/openai.js+77 -8
@@ -53,6 +53,7 @@ import {
5353 getFileText,
5454 getImageSizeFromDataURL,
5555 getSortableDelay,
56+ getStringHash,
5657 isDataURL,
5758 parseJsonFile,
5859 resetScrollHeight,
@@ -72,6 +73,7 @@ import { SlashCommand } from './slash-commands/SlashCommand.js';
7273import { ARGUMENT_TYPE, SlashCommandArgument } from './slash-commands/SlashCommandArgument.js';
7374import { renderTemplateAsync } from './templates.js';
7475import { SlashCommandEnumValue } from './slash-commands/SlashCommandEnumValue.js';
76+import { Popup, POPUP_RESULT } from './popup.js';
7577
7678export {
7779 openai_messages_count,
@@ -191,6 +193,7 @@ const character_names_behavior = {
191193};
192194
193195const continue_postfix_types = {
196+ NONE: '',
194197 SPACE: ' ',
195198 NEWLINE: '\n',
196199 DOUBLE_NEWLINE: '\n\n',
@@ -201,6 +204,15 @@ const custom_prompt_post_processing_types = {
201204 CLAUDE: 'claude',
202205};
203206
207+const sensitiveFields = [
208+ 'reverse_proxy',
209+ 'proxy_password',
210+ 'custom_url',
211+ 'custom_include_body',
212+ 'custom_exclude_body',
213+ 'custom_include_headers',
214+];
215+
204216function getPrefixMap() {
205217 return selected_group ? {
206218 assistant: '',
@@ -387,7 +399,7 @@ let openai_settings;
387399
388400let promptManager = null;
389401
390402async function validateReverseProxy() {
391403 if (!oai_settings.reverse_proxy) {
392404 return;
393405 }
@@ -401,6 +413,19 @@ function validateReverseProxy() {
401413 resultCheckStatus();
402414 throw err;
403415 }
416+ const rememberKey = `Proxy_SkipConfirm_${getStringHash(oai_settings.reverse_proxy)}`;
417+ const skipConfirm = localStorage.getItem(rememberKey) === 'true';
418+
419+ const confirmation = skipConfirm || await Popup.show.confirm('Connecting To Proxy', `<span>Are you sure you want to connect to the following proxy URL?</span><var>${DOMPurify.sanitize(oai_settings.reverse_proxy)}</var>`);
420+
421+ if (!confirmation) {
422+ toastr.error('Update or remove your reverse proxy settings.');
423+ setOnlineStatus('no_connection');
424+ resultCheckStatus();
425+ throw new Error('Proxy connection denied.');
426+ }
427+
428+ localStorage.setItem(rememberKey, String(true));
404429}
405430
406431/**
@@ -1786,7 +1811,7 @@ async function sendOpenAIRequest(type, messages, signal) {
17861811
17871812 // Proxy is only supported for Claude, OpenAI, Mistral, and Google MakerSuite
17881813 if (oai_settings.reverse_proxy && [chat_completion_sources.CLAUDE, chat_completion_sources.OPENAI, chat_completion_sources.MISTRALAI, chat_completion_sources.MAKERSUITE].includes(oai_settings.chat_completion_source)) {
17891814 await validateReverseProxy();
17901815 generate_data['reverse_proxy'] = oai_settings.reverse_proxy;
17911816 generate_data['proxy_password'] = oai_settings.proxy_password;
17921817 }
@@ -3138,6 +3163,9 @@ function setNamesBehaviorControls() {
31383163
31393164function setContinuePostfixControls() {
31403165 switch (oai_settings.continue_postfix) {
3166+ case continue_postfix_types.NONE:
3167+ $('#continue_postfix_none').prop('checked', true);
3168+ break;
31413169 case continue_postfix_types.SPACE:
31423170 $('#continue_postfix_space').prop('checked', true);
31433171 break;
@@ -3196,7 +3224,7 @@ async function getStatusOpen() {
31963224 };
31973225
31983226 if (oai_settings.reverse_proxy && (oai_settings.chat_completion_source === chat_completion_sources.OPENAI || oai_settings.chat_completion_source === chat_completion_sources.CLAUDE)) {
31993227 await validateReverseProxy();
32003228 }
32013229
32023230 if (oai_settings.chat_completion_source === chat_completion_sources.CUSTOM) {
@@ -3491,6 +3519,26 @@ async function onPresetImportFileChange(e) {
34913519 return;
34923520 }
34933521
3522+ const fields = sensitiveFields.filter(field => presetBody[field]).map(field => `<b>${field}</b>`);
3523+ const shouldConfirm = fields.length > 0;
3524+
3525+ if (shouldConfirm) {
3526+ const textHeader = 'The imported preset contains proxy and/or custom endpoint settings.';
3527+ const textMessage = fields.join('<br>');
3528+ const cancelButton = { text: 'Cancel import', result: POPUP_RESULT.CANCELLED, appendAtEnd: true };
3529+ const popupOptions = { customButtons: [cancelButton], okButton: 'Remove them', cancelButton: 'Import as-is' };
3530+ const popupResult = await Popup.show.confirm(textHeader, textMessage, popupOptions);
3531+
3532+ if (popupResult === POPUP_RESULT.CANCELLED) {
3533+ console.log('Import cancelled by user');
3534+ return;
3535+ }
3536+
3537+ if (popupResult === POPUP_RESULT.AFFIRMATIVE) {
3538+ sensitiveFields.forEach(field => delete presetBody[field]);
3539+ }
3540+ }
3541+
34943542 if (name in openai_setting_names) {
34953543 const confirm = await callPopup('Preset name already exists. Overwrite?', 'confirm');
34963544
@@ -3537,8 +3585,22 @@ async function onExportPresetClick() {
35373585
35383586 const preset = structuredClone(openai_settings[openai_setting_names[oai_settings.preset_settings_openai]]);
35393587
3540- delete preset.reverse_proxy;
3588+ const fieldValues = sensitiveFields.filter(field => preset[field]).map(field => `<b>${field}</b>: <code>${preset[field]}</code>`);
3541- delete preset.proxy_password;
3589+ const shouldConfirm = fieldValues.length > 0;
3590+ const textHeader = 'Your preset contains proxy and/or custom endpoint settings.';
3591+ const textMessage = `<div>Do you want to remove these fields before exporting?</div><br>${DOMPurify.sanitize(fieldValues.join('<br>'))}`;
3592+ const cancelButton = { text: 'Cancel', result: POPUP_RESULT.CANCELLED, appendAtEnd: true };
3593+ const popupOptions = { customButtons: [cancelButton] };
3594+ const popupResult = await Popup.show.confirm(textHeader, textMessage, popupOptions);
3595+
3596+ if (popupResult === POPUP_RESULT.CANCELLED) {
3597+ console.log('Export cancelled by user');
3598+ return;
3599+ }
3600+
3601+ if (!shouldConfirm || popupResult === POPUP_RESULT.AFFIRMATIVE) {
3602+ sensitiveFields.forEach(field => delete preset[field]);
3603+ }
35423604
35433605 const presetJsonString = JSON.stringify(preset, null, 4);
35443606 const presetFileName = `${oai_settings.preset_settings_openai}.json`;
@@ -3921,7 +3983,7 @@ async function onModelChange() {
39213983 oai_settings.groq_model = value;
39223984 }
39233985
39243986 if (value && $(this).is('#model_01ai_select')) {
39253987 console.log('01.AI model changed to', value);
39263988 oai_settings.zerooneai_model = value;
39273989 }
@@ -4112,7 +4174,7 @@ async function onModelChange() {
41124174 if (oai_settings.max_context_unlocked) {
41134175 $('#openai_max_context').attr('max', unlocked_max);
41144176 }
41154177 else if (['llama3-8b-8192', 'llama3-70b-8192', 'gemma-7b-it', 'gemma2-9b-it'].includes(oai_settings.groq_model)) {
41164178 $('#openai_max_context').attr('max', max_8k);
41174179 }
41184180 else if (['mixtral-8x7b-32768'].includes(oai_settings.groq_model)) {
@@ -4675,6 +4737,7 @@ function runProxyCallback(_, value) {
46754737 return foundName;
46764738}
46774739
4740+export function initOpenai() {
46784741 SlashCommandParser.addCommandObject(SlashCommand.fromProps({
46794742 name: 'proxy',
46804743 callback: runProxyCallback,
@@ -4690,7 +4753,7 @@ SlashCommandParser.addCommandObject(SlashCommand.fromProps({
46904753 ],
46914754 helpString: 'Sets a proxy preset by name.',
46924755 }));
4693-
4756+}
46944757
46954758$(document).ready(async function () {
46964759 $('#test_api_button').on('click', testApiConnection);
@@ -5078,6 +5141,12 @@ $(document).ready(async function () {
50785141 saveSettingsDebounced();
50795142 });
50805143
5144+ $('#continue_postfix_none').on('input', function () {
5145+ oai_settings.continue_postfix = continue_postfix_types.NONE;
5146+ setContinuePostfixControls();
5147+ saveSettingsDebounced();
5148+ });
5149+
50815150 $('#continue_postfix_space').on('input', function () {
50825151 oai_settings.continue_postfix = continue_postfix_types.SPACE;
50835152 setContinuePostfixControls();
public/scripts/personas.js+4 -7
@@ -395,19 +395,16 @@ export async function convertCharacterToPersona(characterId = null) {
395395 const overwriteName = `${name} (Persona).png`;
396396
397397 if (overwriteName in power_user.personas) {
398398 const confirmationconfirm = await callPopupPopup.show.confirm('Overwrite Existing Persona', 'This character exists as a persona already. AreDo you sure want to overwrite it?', 'confirm', '', { okButton: 'Yes' });
399-
399+ if (!confirm) {
400- if (confirmation === false) {
401400 console.log('User cancelled the overwrite of the persona');
402401 return;
403402 }
404403 }
405404
406405 if (description.includes('{{char}}') || description.includes('{{user}}')) {
407- await delay(500);
406+ const confirm = await Popup.show.confirm('Persona Description Macros', 'This character has a description that uses <code>{{char}}</code> or <code>{{user}}</code> macros. Do you want to swap them in the persona description?');
408- const confirmation = await callPopup('This character has a description that uses {{char}} or {{user}} macros. Do you want to swap them in the persona description?', 'confirm', '', { okButton: 'Yes' });
407+ if (confirm) {
409-
410- if (confirmation) {
411408 description = description.replace(/{{char}}/gi, '{{personaChar}}').replace(/{{user}}/gi, '{{personaUser}}');
412409 description = description.replace(/{{personaUser}}/gi, '{{char}}').replace(/{{personaChar}}/gi, '{{user}}');
413410 }
public/scripts/popup.js+9 -4
@@ -194,7 +194,7 @@ export class Popup {
194194 const buttonElement = document.createElement('div');
195195 buttonElement.classList.add('menu_button', 'popup-button-custom', 'result-control');
196196 buttonElement.classList.add(...(button.classes ?? []));
197- buttonElement.dataset.result = String(button.result ?? undefined);
197+ buttonElement.dataset.result = String(button.result); // This is expected to also write 'null' or 'staging', to indicate cancel and no action respectively
198198 buttonElement.textContent = button.text;
199199 buttonElement.dataset.i18n = buttonElement.textContent;
200200 buttonElement.tabIndex = 0;
@@ -317,9 +317,14 @@ export class Popup {
317317 // Bind event listeners for all result controls to their defined event type
318318 this.dlg.querySelectorAll('[data-result]').forEach(resultControl => {
319319 if (!(resultControl instanceof HTMLElement)) return;
320- const result = Number(resultControl.dataset.result);
320+ // If no value was set, we exit out and don't bind an action
321321 if (String(undefinedresultControl.dataset.result) === String(resultControl.dataset.resultundefined)) return;
322- if (isNaN(result)) throw new Error('Invalid result control. Result must be a number. ' + resultControl.dataset.result);
322+
323+ // Make sure that both `POPUP_RESULT` numbers and also `null` as 'cancelled' are supported
324+ const result = String(resultControl.dataset.result) === String(null) ? null
325+ : Number(resultControl.dataset.result);
326+
327+ if (result !== null && isNaN(result)) throw new Error('Invalid result control. Result must be a number. ' + resultControl.dataset.result);
323328 const type = resultControl.dataset.resultEvent || 'click';
324329 resultControl.addEventListener(type, async () => await this.complete(result));
325330 });
public/scripts/power-user.js+14 -33
@@ -1064,19 +1064,19 @@ function applyChatDisplay() {
10641064
10651065 switch (power_user.chat_display) {
10661066 case 0: {
10671067 console.logdebug('applying default chat');
10681068 $('body').removeClass('bubblechat');
10691069 $('body').removeClass('documentstyle');
10701070 break;
10711071 }
10721072 case 1: {
10731073 console.logdebug('applying bubblechat');
10741074 $('body').addClass('bubblechat');
10751075 $('body').removeClass('documentstyle');
10761076 break;
10771077 }
10781078 case 2: {
10791079 console.logdebug('applying document style');
10801080 $('body').removeClass('bubblechat');
10811081 $('body').addClass('documentstyle');
10821082 break;
@@ -2734,45 +2734,26 @@ async function doDelMode(_, text) {
27342734 return '';
27352735 }
27362736
27372737 //first Just enter delmodethe delete mode.
2738+ if (!text) {
27382739 $('#option_delete_mes').trigger('click', { fromSlashCommand: true });
2739-
2740- //parse valid args
2741- if (text) {
2742- await delay(300); //same as above, need event signal for 'entered del mode'
2743- console.debug('parsing msgs to del');
2744- let numMesToDel = Number(text);
2745- let lastMesID = Number($('#chat .mes').last().attr('mesid'));
2746- let oldestMesIDToDel = lastMesID - numMesToDel + 1;
2747-
2748- if (oldestMesIDToDel < 0) {
2749- toastr.warning(`Cannot delete more than ${chat.length} messages.`);
27502740 return '';
27512741 }
27522742
2753- let oldestMesToDel = $('#chat').find(`.mes[mesid=${oldestMesIDToDel}]`);
2743+ const count = Number(text);
27542744
2755- if (!oldestMesIDToDel && lastMesID > 0) {
2745+ // Nothing to delete.
2756- oldestMesToDel = await loadUntilMesId(oldestMesIDToDel);
2746+ if (count < 1) {
2757-
2758- if (!oldestMesToDel || !oldestMesToDel.length) {
27592747 return '';
27602748 }
2761- }
27622749
2763- let oldestDelMesCheckbox = $(oldestMesToDel).find('.del_checkbox');
2750+ if (count > chat.length) {
2764- let newLastMesID = oldestMesIDToDel - 1;
2751+ toastr.warning(`Cannot delete more than ${chat.length} messages.`);
2765- console.debug(`DelMesReport -- numMesToDel: ${numMesToDel}, lastMesID: ${lastMesID}, oldestMesIDToDel:${oldestMesIDToDel}, newLastMesID: ${newLastMesID}`);
2766- oldestDelMesCheckbox.trigger('click');
2767- let trueNumberOfDeletedMessage = lastMesID - oldestMesIDToDel + 1;
2768-
2769- //await delay(1)
2770- $('#dialogue_del_mes_ok').trigger('click');
2771- toastr.success(`Deleted ${trueNumberOfDeletedMessage} messages.`);
27722752 return '';
27732753 }
27742754
2775- return '';
2755+ const range = `${chat.length - count}-${chat.length - 1}`;
2756+ return doMesCut(_, range);
27762757}
27772758
27782759function doResetPanels() {
@@ -3130,6 +3111,7 @@ $(document).ready(() => {
31303111 const winHeight = window.innerHeight;
31313112 const originalWidth = winWidth * zoomLevel;
31323113 const originalHeight = winHeight * zoomLevel;
3114+ console.log(`Window resize: ${coreTruthWinWidth}x${coreTruthWinHeight} -> ${window.innerWidth}x${window.innerHeight}`);
31333115 console.debug(`Zoom: ${zoomLevel}, X:${winWidth}, Y:${winHeight}, original: ${originalWidth}x${originalHeight} `);
31343116 return zoomLevel;
31353117 });
@@ -3138,7 +3120,6 @@ $(document).ready(() => {
31383120 var coreTruthWinHeight = window.innerHeight;
31393121
31403122 $(window).on('resize', async () => {
3141- console.log(`Window resize: ${coreTruthWinWidth}x${coreTruthWinHeight} -> ${window.innerWidth}x${window.innerHeight}`);
31423123 adjustAutocompleteDebounced();
31433124 setHotswapsDebounced();
31443125
@@ -3191,7 +3172,7 @@ $(document).ready(() => {
31913172 }
31923173 }
31933174 } else {
31943175 console.logdebug('aborting MUI reset', Object.keys(power_user.movingUIState).length);
31953176 }
31963177 saveSettingsDebounced();
31973178 coreTruthWinWidth = window.innerWidth;
public/scripts/preset-manager.js+10 -13
@@ -1,6 +1,5 @@
11import {
22 amount_gen,
3- callPopup,
43 characters,
54 eventSource,
65 event_types,
@@ -19,6 +18,7 @@ import {
1918import { groups, selected_group } from './group-chats.js';
2019import { instruct_presets } from './instruct-mode.js';
2120import { kai_settings } from './kai-settings.js';
21+import { Popup } from './popup.js';
2222import { context_presets, getContextSettings, power_user } from './power-user.js';
2323import { SlashCommand } from './slash-commands/SlashCommand.js';
2424import { ARGUMENT_TYPE, SlashCommandArgument } from './slash-commands/SlashCommandArgument.js';
@@ -165,11 +165,8 @@ class PresetManager {
165165
166166 async savePresetAs() {
167167 const inputValue = this.getSelectedPresetName();
168- const popupText = `
168+ const popupText = !this.isNonGenericApi() ? '<h4>Hint: Use a character/group name to bind preset to a specific chat.</h4>' : '';
169- <h3>Preset name:</h3>
169+ const name = await Popup.show.input('Preset name:', popupText, inputValue);
170- ${!this.isNonGenericApi() ? '<h4>Hint: Use a character/group name to bind preset to a specific chat.</h4>' : ''}`;
171- const name = await callPopup(popupText, 'input', inputValue);
172-
173170 if (!name) {
174171 console.log('Preset name not provided');
175172 return;
@@ -304,6 +301,9 @@ class PresetManager {
304301
305302 const filteredKeys = [
306303 'preset',
304+ 'streaming',
305+ 'truncation_length',
306+ 'n',
307307 'streaming_url',
308308 'stopping_strings',
309309 'can_use_tokenization',
@@ -372,7 +372,7 @@ class PresetManager {
372372 if (Object.keys(preset_names).length) {
373373 const nextPresetName = Object.keys(preset_names)[0];
374374 const newValue = preset_names[nextPresetName];
375375 $(this.select).find(`option[value="${newValue}"]`).attr('selected', 'true');
376376 $(this.select).trigger('change');
377377 }
378378
@@ -597,8 +597,7 @@ export async function initPresetManager() {
597597 return;
598598 }
599599
600600 const confirm = await callPopupPopup.show.confirm('Delete the preset?', 'This action is irreversible and your current settings will be overwritten.', 'confirm');
601-
602601 if (!confirm) {
603602 return;
604603 }
@@ -641,8 +640,7 @@ export async function initPresetManager() {
641640 return;
642641 }
643642
644643 const confirm = await callPopupPopup.show.confirm('<h3>Are you sure?</h3>', 'Resetting a <b>default preset</b> will restore the default settings.', 'confirm');
645-
646644 if (!confirm) {
647645 return;
648646 }
@@ -653,8 +651,7 @@ export async function initPresetManager() {
653651 presetManager.selectPreset(option);
654652 toastr.success('Default preset restored');
655653 } else {
656654 const confirm = await callPopupPopup.show.confirm('<h3>Are you sure?</h3>', 'Resetting a <b>custom preset</b> will restore to the last saved state.', 'confirm');
657-
658655 if (!confirm) {
659656 return;
660657 }
public/scripts/samplerSelect.js+1 -1
@@ -307,7 +307,7 @@ async function listSamplers(main_api, arrayOnly = false) {
307307 }
308308
309309 if (arrayOnly) {
310310 console.logdebug('returning full samplers array');
311311 return availableSamplers;
312312 }
313313
public/scripts/slash-commands.js+105 -17
@@ -329,6 +329,16 @@ export function initDefaultSlashCommands() {
329329 name: 'continue',
330330 callback: continueChatCallback,
331331 aliases: ['cont'],
332+ namedArgumentList: [
333+ new SlashCommandNamedArgument(
334+ 'await',
335+ 'Whether to await for the continued generation before proceeding',
336+ [ARGUMENT_TYPE.BOOLEAN],
337+ false,
338+ false,
339+ 'false',
340+ ),
341+ ],
332342 unnamedArgumentList: [
333343 new SlashCommandArgument(
334344 'prompt', [ARGUMENT_TYPE.STRING], false,
@@ -339,15 +349,18 @@ export function initDefaultSlashCommands() {
339349 Continues the last message in the chat, with an optional additional prompt.
340350 </div>
341351 <div>
352+ If <code>await=true</code> named argument is passed, the command will await for the continued generation before proceeding.
353+ </div>
354+ <div>
342355 <strong>Example:</strong>
343356 <ul>
344357 <li>
345358 <pre><code>/continue</code></pre>
346359 Continues the chat with no additional prompt and immediately proceeds to the next command.
347360 </li>
348361 <li>
349362 <pre><code>/continue await=true Let's explore this further...</code></pre>
350363 Continues the chat with the provided prompt and waits for the generation to finish.
351364 </li>
352365 </ul>
353366 </div>
@@ -939,14 +952,36 @@ export function initDefaultSlashCommands() {
939952 SlashCommandParser.addCommandObject(SlashCommand.fromProps({
940953 name: 'fuzzy',
941954 callback: fuzzyCallback,
942955 returns: 'first matching item',
943956 namedArgumentList: [
944957 new SlashCommandNamedArgument.fromProps({
945- 'list', 'list of items to match against', [ARGUMENT_TYPE.LIST], true,
958+ name: 'list',
946- ),
959+ description: 'list of items to match against',
947- new SlashCommandNamedArgument(
960+ acceptsMultiple: false,
948- 'threshold', 'fuzzy match threshold (0.0 to 1.0)', [ARGUMENT_TYPE.NUMBER], false, false, '0.4',
961+ isRequired: true,
949- ),
962+ typeList: [ARGUMENT_TYPE.LIST, ARGUMENT_TYPE.VARIABLE_NAME],
963+ enumProvider: commonEnumProviders.variables('all'),
964+ }),
965+ SlashCommandNamedArgument.fromProps({
966+ name: 'threshold',
967+ description: 'fuzzy match threshold (0.0 to 1.0)',
968+ typeList: [ARGUMENT_TYPE.NUMBER],
969+ isRequired: false,
970+ defaultValue: '0.4',
971+ acceptsMultiple: false,
972+ }),
973+ SlashCommandNamedArgument.fromProps({
974+ name: 'mode',
975+ description: 'fuzzy match mode',
976+ typeList: [ARGUMENT_TYPE.STRING],
977+ isRequired: false,
978+ defaultValue: 'first',
979+ acceptsMultiple: false,
980+ enumList: [
981+ new SlashCommandEnumValue('first', 'first match below the threshold', enumTypes.enum, enumIcons.default),
982+ new SlashCommandEnumValue('best', 'best match below the threshold', enumTypes.enum, enumIcons.default),
983+ ],
984+ }),
950985 ],
951986 unnamedArgumentList: [
952987 new SlashCommandArgument(
@@ -964,6 +999,13 @@ export function initDefaultSlashCommands() {
964999 At 1.0 (max) the match is very loose and will match anything.
9651000 </div>
9661001 <div>
1002+ The optional <code>mode</code> argument allows to control the behavior when multiple items match the text.
1003+ <ul>
1004+ <li><code>first</code> (default) returns the first match below the threshold.</li>
1005+ <li><code>best</code> returns the best match below the threshold.</li>
1006+ </ul>
1007+ </div>
1008+ <div>
9671009 The returned value passes to the next command through the pipe.
9681010 </div>
9691011 <div>
@@ -1852,7 +1894,7 @@ async function inputCallback(args, prompt) {
18521894 * @param {FuzzyCommandArgs} args - arguments containing "list" (JSON array) and optionaly "threshold" (float between 0.0 and 1.0)
18531895 * @param {string} searchInValue - the string where items of list are searched
18541896 * @returns {string} - the matched item from the list
18551897 * @typedef {{list: string, threshold: string, mode:string}} FuzzyCommandArgs - arguments for /fuzzy command
18561898 * @example /fuzzy list=["down","left","up","right"] "he looks up" | /echo // should return "up"
18571899 * @link https://www.fusejs.io/
18581900 */
@@ -1882,7 +1924,7 @@ function fuzzyCallback(args, searchInValue) {
18821924 };
18831925 // threshold determines how strict is the match, low threshold value is very strict, at 1 (nearly?) everything matches
18841926 if ('threshold' in args) {
18851927 params.threshold = parseFloat(resolveVariable(args.threshold));
18861928 if (isNaN(params.threshold)) {
18871929 console.warn('WARN: \'threshold\' argument must be a float between 0.0 and 1.0 for /fuzzy command');
18881930 return '';
@@ -1895,16 +1937,42 @@ function fuzzyCallback(args, searchInValue) {
18951937 }
18961938 }
18971939
1940+ function getFirstMatch() {
18981941 const fuse = new Fuse([searchInValue], params);
18991942 // each item in the "list" is searched within "search_item", if any matches it returns the matched "item"
19001943 for (const searchItem of list) {
19011944 const result = fuse.search(searchItem);
1945+ console.debug('/fuzzy: result', result);
19021946 if (result.length > 0) {
19031947 console.info('fuzzyCallback Matched/fuzzy: 'first +matched', searchItem);
19041948 return searchItem;
19051949 }
19061950 }
1951+
1952+ console.info('/fuzzy: no match');
19071953 return '';
1954+ }
1955+
1956+ function getBestMatch() {
1957+ const fuse = new Fuse(list, params);
1958+ const result = fuse.search(searchInValue);
1959+ console.debug('/fuzzy: result', result);
1960+ if (result.length > 0) {
1961+ console.info('/fuzzy: best matched', result[0].item);
1962+ return result[0].item;
1963+ }
1964+
1965+ console.info('/fuzzy: no match');
1966+ return '';
1967+ }
1968+
1969+ switch (String(args.mode).trim().toLowerCase()) {
1970+ case 'best':
1971+ return getBestMatch();
1972+ case 'first':
1973+ default:
1974+ return getFirstMatch();
1975+ }
19081976 } catch {
19091977 console.warn('WARN: Invalid list argument provided for /fuzzy command');
19101978 return '';
@@ -2002,6 +2070,9 @@ async function echoCallback(args, value) {
20022070 args.severity = null;
20032071 }
20042072
2073+ // Make sure that the value is a string
2074+ value = String(value);
2075+
20052076 const title = args.title ? args.title : undefined;
20062077 const severity = args.severity ? args.severity : 'info';
20072078
@@ -2456,6 +2527,7 @@ async function triggerGenerationCallback(args, value) {
24562527 } catch {
24572528 console.warn('Timeout waiting for generation unlock');
24582529 toastr.warning('Cannot run /trigger command while the reply is being generated.');
2530+ outerResolve(Promise.resolve(''));
24592531 return '';
24602532 }
24612533
@@ -2623,19 +2695,35 @@ async function openChat(id) {
26232695 await reloadCurrentChat();
26242696}
26252697
26262698async function continueChatCallback(_args, prompt) {
2627- setTimeout(async () => {
2699+ const shouldAwait = isTrueBoolean(args?.await);
2700+
2701+ const outerPromise = new Promise(async (resolve, reject) => {
26282702 try {
26292703 await waitUntilCondition(() => !is_send_press && !is_group_generating, 10000, 100);
26302704 } catch {
26312705 console.warn('Timeout waiting for generation unlock');
26322706 toastr.warning('Cannot run /continue command while the reply is being generated.');
2707+ return reject();
26332708 }
26342709
2710+ try {
26352711 // Prevent infinite recursion
26362712 $('#send_textarea').val('')[0].dispatchEvent(new Event('input', { bubbles: true }));
2637- $('#option_continue').trigger('click', { fromSlashCommand: true, additionalPrompt: prompt });
2713+
2638- }, 1);
2714+ const options = prompt?.trim() ? { quiet_prompt: prompt.trim(), quietToLoud: true } : {};
2715+ await Generate('continue', options);
2716+
2717+ resolve();
2718+ } catch (error) {
2719+ console.error('Error running /continue command:', error);
2720+ reject();
2721+ }
2722+ });
2723+
2724+ if (shouldAwait) {
2725+ await outerPromise;
2726+ }
26392727
26402728 return '';
26412729}
public/scripts/slash-commands/SlashCommandCommonEnumsProvider.js+13 -13
@@ -1,11 +1,11 @@
11import { chat_metadata, characters, substituteParams, chat, extension_prompt_roles, extension_prompt_types } from "'../../script.js"';
22import { extension_settings } from "'../extensions.js"';
33import { getGroupMembers, groups, selected_group } from "'../group-chats.js"';
44import { power_user } from "'../power-user.js"';
55import { searchCharByName, getTagsList, tags } from "'../tags.js"';
66import { SlashCommandClosureworld_names } from "'../SlashCommandClosureworld-info.js"';
77import { SlashCommandEnumValue, enumTypesSlashCommandClosure } from "'./SlashCommandEnumValueSlashCommandClosure.js"';
88import { SlashCommandExecutorSlashCommandEnumValue, enumTypes } from "'./SlashCommandExecutorSlashCommandEnumValue.js"';
99
1010/**
1111 * A collection of regularly used enum icons
@@ -103,8 +103,8 @@ export const enumIcons = {
103103 // Remove possible nullable types definition to match type icon
104104 type = type.replace(/\?$/, '');
105105 return enumIcons[type] ?? enumIcons.default;
106106 },
107107};
108108
109109/**
110110 * A collection of common enum providers
@@ -143,7 +143,7 @@ export const commonEnumProviders = {
143143 ...isAll || types.includes('global') ? Object.keys(extension_settings.variables.global ?? []).map(name => new SlashCommandEnumValue(name, null, enumTypes.macro, enumIcons.globalVariable)) : [],
144144 ...isAll || types.includes('local') ? Object.keys(chat_metadata.variables ?? []).map(name => new SlashCommandEnumValue(name, null, enumTypes.name, enumIcons.localVariable)) : [],
145145 ...isAll || types.includes('scope') ? [].map(name => new SlashCommandEnumValue(name, null, enumTypes.variable, enumIcons.scopeVariable)) : [], // TODO: Add scoped variables here, Lenny
146146 ];
147147 },
148148
149149 /**
@@ -180,7 +180,7 @@ export const commonEnumProviders = {
180180 * @param {('all' | 'existing' | 'not-existing')?} [mode='all'] - Which types of tags to show
181181 * @returns {() => SlashCommandEnumValue[]}
182182 */
183183 tagsForChar: (mode = 'all') => (/** @type {import('./SlashCommandExecutor.js').SlashCommandExecutor} */ executor) => {
184184 // Try to see if we can find the char during execution to filter down the tags list some more. Otherwise take all tags.
185185 const charName = executor.namedArgumentList.find(it => it.name == 'name')?.value;
186186 if (charName instanceof SlashCommandClosure) throw new Error('Argument \'name\' does not support closures');
@@ -213,7 +213,7 @@ export const commonEnumProviders = {
213213 *
214214 * @returns {SlashCommandEnumValue[]}
215215 */
216216 worlds: () => $('#world_info').children().toArray()world_names.map(xworldName => new SlashCommandEnumValue(x.textContentworldName, null, enumTypes.name, enumIcons.world)),
217217
218218 /**
219219 * All existing injects for the current chat
public/scripts/tags.js+5 -7
@@ -9,24 +9,21 @@ import {
99 eventSource,
1010 event_types,
1111 DEFAULT_PRINT_TIMEOUT,
12- substituteParams,
1312 printCharacters,
1413} from '../script.js';
1514// eslint-disable-next-line no-unused-vars
1615import { FILTER_TYPES, FILTER_STATES, DEFAULT_FILTER_STATE, isFilterState, FilterHelper } from './filters.js';
1716
1817import { groupCandidatesFilter, groups, select_group_chats, selected_group } from './group-chats.js';
1918import { download, onlyUnique, parseJsonFile, uuidv4, getSortableDelay, flashHighlight, equalsIgnoreCaseAndAccents, includesIgnoreCaseAndAccents, removeFromArray, getFreeName, debounce } from './utils.js';
2019import { power_user } from './power-user.js';
2120import { SlashCommandParser } from './slash-commands/SlashCommandParser.js';
2221import { SlashCommand } from './slash-commands/SlashCommand.js';
2322import { ARGUMENT_TYPE, SlashCommandArgument, SlashCommandNamedArgument } from './slash-commands/SlashCommandArgument.js';
2423import { isMobile } from './RossAscends-mods.js';
2524import { POPUP_RESULT, POPUP_TYPE, Popup, callGenericPopup } from './popup.js';
2625import { debounce_timeout } from './constants.js';
2726import { INTERACTABLE_CONTROL_CLASS } from './keyboard.js';
28-import { SlashCommandEnumValue } from './slash-commands/SlashCommandEnumValue.js';
29-import { SlashCommandExecutor } from './slash-commands/SlashCommandExecutor.js';
3027import { commonEnumProviders } from './slash-commands/SlashCommandCommonEnumsProvider.js';
3128import { renderTemplateAsync } from './templates.js';
3229
@@ -53,6 +50,7 @@ export {
5350 removeTagFromMap,
5451};
5552
53+/** @typedef {import('../scripts/popup.js').Popup} Popup */
5654/** @typedef {import('../script.js').Character} Character */
5755
5856const CHARACTER_FILTER_SELECTOR = '#rm_characters_block .rm_tag_filter';
@@ -717,7 +715,7 @@ async function importTags(character, { forceShow = false } = {}) {
717715 // Gather the tags to import based on the selected setting
718716 const tagNamesToImport = await handleTagImport(character, { forceShow });
719717 if (!tagNamesToImport?.length) {
720718 toastrconsole.infodebug('No tags to import', 'Importing Tags');
721719 return;
722720 }
723721
@@ -815,7 +813,7 @@ async function showTagImportPopup(character, existingTags, newTags, folderTags)
815813 wider: true, okButton: 'Import', cancelButton: true,
816814 customButtons: Object.values(importButtons),
817815 customInputs: [{ id: 'import_remember_option', label: 'Remember my choice', tooltip: 'Remember the chosen import option\nIf anything besides \'Cancel\' is selected, this dialog will not show up anymore.\nTo change this, go to the settings and modify "Tag Import Option".\n\nIf the "Import" option is chosen, the global setting will stay on "Ask".' }],
818816 onClose: onCloseRemember,
819817 });
820818 if (!result) {
821819 return [];
public/scripts/templates/itemizationChat.html+1 -0
@@ -2,6 +2,7 @@
22 Prompt Itemization
33 <div id="showRawPrompt" class="fa-solid fa-square-poll-horizontal menu_button"></div>
44 <div id="copyPromptToClipboard" class="fa-solid fa-copy menu_button"></div>
5+ <div id="diffPrevPrompt" class="fa-solid fa-code-compare menu_button"></div>
56</h3>
67Tokenizer: {{selectedTokenizer}}<br>
78API Used: {{this_main_api}}<br>
public/scripts/templates/itemizationText.html+1 -0
@@ -2,6 +2,7 @@
22 Prompt Itemization
33 <div id="showRawPrompt" class="fa-solid fa-square-poll-horizontal menu_button"></div>
44 <div id="copyPromptToClipboard" class="fa-solid fa-copy menu_button"></div>
5+ <div id="diffPrevPrompt" class="fa-solid fa-code-compare menu_button"></div>
56</h3>
67Tokenizer: {{selectedTokenizer}}<br>
78API Used: {{this_main_api}}<br>
public/scripts/templates/scenarioOverride.html+17 -0
@@ -0,0 +1,17 @@
1+<div class="scenario_override range-block flexFlowColumn flex-container">
2+ <div class="range-block-title title_restorable">
3+ <h3><span data-i18n="Chat Scenario Override" class="margin0">Chat Scenario Override</span></h3>
4+ <div title="Remove" data-i18n="[title]Remove"
5+ class="menu_button fa-solid fa-trash-can remove_scenario_override"></div>
6+ </div>
7+ <div class="range-block-counter justifyLeft flex-container flexFlowColumn">
8+ <strong>Unique to this chat.</strong>
9+ <span data-group="true">All group members will use the following scenario text instead of what is specified in their character cards.</span>
10+ <span data-character="true">The following scenario text will be used instead of the value set in the character card.</span>
11+ Checkpoints inherit the scenario override from their parent, and can be changed individually after that.
12+ </div>
13+ <div class="range-block-range wide100p">
14+ <textarea class="wide100p chat_scenario" class="text_pole" rows="15" data-i18n="[placeholder]Type here..."
15+ placeholder="Type here..."></textarea>
16+ </div>
17+</div>
public/scripts/templates/tabbyDownloader.html+61 -0
@@ -0,0 +1,61 @@
1+<div id="tabby_downloader_popup">
2+ <div>
3+ <h3><strong data-i18n="">Download Model</strong>
4+ <a href="https://github.com/theroyallab/async-hf-downloader" class="notes-link" target="_blank">
5+ <span class="note-link-span">?</span>
6+ </a>
7+ </h3>
8+
9+ <small class="flex-container extensions_info justifyCenter">
10+ Download a HuggingFace model with TabbyAPI
11+ </small>
12+ <small class="flex-container extensions_info justifyCenter">
13+ (Requires an admin key)
14+ </small>
15+ <hr />
16+
17+ <!-- Model parameter textboxes -->
18+ Repo ID
19+ <div class="flex-container">
20+ <input name="hf_repo_id" class="text_pole" type="text" placeholder="Ex. turboderp/Llama-3-8B-exl2" />
21+ </div>
22+ <div class="range-block-title justifyCenter">
23+ <span data-i18n="Downloader Options">Downloader Options</span>
24+ <div class="margin5 fa-solid fa-circle-info opacity50p " data-i18n="[title]Extra parameters for downloading/HuggingFace API" title="Extra parameters for downloading/HuggingFace API.&#13;If unsure, leave these blank."></div>
25+ </div>
26+ <div class="flex-container">
27+ <div class="flex1">
28+ <label for="revision">
29+ <small data-i18n="Revision">Revision</small>
30+ </label>
31+ <input name="revision" class="text_pole" type="text" placeholder="Ex. 6.0bpw" />
32+ </div>
33+ <div class="flex1">
34+ <label for="folder_name">
35+ <small data-i18n="Folder Name">Output Folder Name</small>
36+ </label>
37+ <input name="folder_name" class="text_pole" type="text" />
38+ </div>
39+ <div class="flex1">
40+ <label for="hf_token">
41+ <small data-i18n="HF Token">HF Token</small>
42+ </label>
43+ <input name="hf_token" class="text_pole" type="text" placeholder="For gated models" />
44+ </div>
45+ </div>
46+ <div class="range-block-title justifyCenter">
47+ <span data-i18n="Include Patterns">Include Patterns</span>
48+ <div class="margin5 fa-solid fa-circle-info opacity50p" data-i18n="[title]Glob patterns of files to include in the download." title="Glob patterns of files to include in the download.&#13;Separate each pattern by a newline."></div>
49+ </div>
50+ <div class="flex-container">
51+ <textarea class="text_pole textarea_compact" name="tabby_download_include" placeholder="Ex. *.txt"></textarea>
52+ </div>
53+ <div class="range-block-title justifyCenter">
54+ <span data-i18n="Exclude Patterns">Exclude Patterns</span>
55+ <div class="margin5 fa-solid fa-circle-info opacity50p" data-i18n="[title]Glob patterns of files to exclude in the download." title="Glob patterns of files to exclude in the download.&#13;Separate each pattern by a newline."></div>
56+ </div>
57+ <div class="flex-container">
58+ <textarea class="text_pole textarea_compact" name="tabby_download_exclude" placeholder="Ex. *.txt"></textarea>
59+ </div>
60+ </div>
61+</div>
61 \ No newline at end of file
public/scripts/textgen-models.js+72 -1
@@ -1,7 +1,9 @@
11import { isMobile } from './RossAscends-mods.js';
22import { amount_gen, callPopup, eventSource, event_types, getRequestHeaders, max_context, online_status, setGenerationParamsFromPreset } from '../script.js';
33import { textgenerationwebui_settings as textgen_settings, textgen_types } from './textgen-settings.js';
44import { tokenizers } from './tokenizers.js';
5+import { renderTemplateAsync } from './templates.js';
6+import { POPUP_TYPE, callGenericPopup } from './popup.js';
57
68let mancerModels = [];
79let togetherModels = [];
@@ -470,6 +472,74 @@ async function downloadOllamaModel() {
470472 }
471473}
472474
475+async function downloadTabbyModel() {
476+ try {
477+ const serverUrl = textgen_settings.server_urls[textgen_types.TABBY];
478+
479+ if (online_status === 'no_connection' || !serverUrl) {
480+ toastr.info('Please connect to a TabbyAPI server first.');
481+ return;
482+ }
483+
484+ const downloadHtml = $(await renderTemplateAsync('tabbyDownloader'));
485+ const popupResult = await callGenericPopup(downloadHtml, POPUP_TYPE.CONFIRM, '', { okButton: 'Download', cancelButton: 'Cancel' });
486+
487+ // User cancelled the download
488+ if (!popupResult) {
489+ return;
490+ }
491+
492+ const repoId = downloadHtml.find('input[name="hf_repo_id"]').val().toString();
493+ if (!repoId) {
494+ toastr.error('A HuggingFace repo ID must be provided. Skipping Download.');
495+ return;
496+ }
497+
498+ if (repoId.split('/').length !== 2) {
499+ toastr.error('A HuggingFace repo ID must be formatted as Author/Name. Please try again.');
500+ return;
501+ }
502+
503+ const params = {
504+ repo_id: repoId,
505+ folder_name: downloadHtml.find('input[name="folder_name"]').val() || undefined,
506+ revision: downloadHtml.find('input[name="revision"]').val() || undefined,
507+ token: downloadHtml.find('input[name="hf_token"]').val() || undefined,
508+ };
509+
510+ for (const suffix of ['include', 'exclude']) {
511+ const patterns = downloadHtml.find(`textarea[name="tabby_download_${suffix}"]`).val().toString();
512+ if (patterns) {
513+ params[suffix] = patterns.split('\n');
514+ }
515+ }
516+
517+ // Params for the server side of ST
518+ params['api_server'] = serverUrl;
519+ params['api_type'] = textgen_settings.type;
520+
521+ toastr.info('Downloading. Check the Tabby console for progress reports.');
522+
523+ const response = await fetch('/api/backends/text-completions/tabby/download', {
524+ method: 'POST',
525+ headers: getRequestHeaders(),
526+ body: JSON.stringify(params),
527+ });
528+
529+ if (response.status === 403) {
530+ toastr.error('The provided key has invalid permissions. Please use an admin key for downloading.');
531+ return;
532+ } else if (!response.ok) {
533+ throw new Error(response.statusText);
534+ }
535+
536+ toastr.success('Download complete.');
537+ } catch (err) {
538+ console.error(err);
539+ toastr.error('Failed to download HuggingFace model in TabbyAPI. Please try again.');
540+ }
541+}
542+
473543function calculateOpenRouterCost() {
474544 if (textgen_settings.type !== textgen_types.OPENROUTER) {
475545 return;
@@ -538,6 +608,7 @@ jQuery(function () {
538608 $('#vllm_model').on('change', onVllmModelSelect);
539609 $('#aphrodite_model').on('change', onAphroditeModelSelect);
540610 $('#featherless_model').on('change', onFeatherlessModelSelect);
611+ $('#tabby_download_model').on('click', downloadTabbyModel);
541612
542613 const providersSelect = $('.openrouter_providers');
543614 for (const provider of OPENROUTER_PROVIDERS) {
public/scripts/utils.js+44 -2
@@ -302,6 +302,32 @@ export function throttle(func, limit = 300) {
302302}
303303
304304/**
305+ * Creates a debounced throttle function that only invokes func at most once per every limit milliseconds.
306+ * @param {function} func The function to throttle.
307+ * @param {number} [limit=300] The limit in milliseconds.
308+ * @returns {function} The throttled function.
309+ */
310+export function debouncedThrottle(func, limit = 300) {
311+ let last, deferTimer;
312+ let db = debounce(func);
313+
314+ return function() {
315+ let now = +new Date, args = arguments;
316+ if(!last || (last && now < last + limit)) {
317+ clearTimeout(deferTimer);
318+ db.apply(this, args);
319+ deferTimer = setTimeout(function() {
320+ last = now;
321+ func.apply(this, args);
322+ }, limit);
323+ } else {
324+ last = now;
325+ func.apply(this, args);
326+ }
327+ };
328+}
329+
330+/**
305331 * Checks if an element is in the viewport.
306332 * @param {Element} el The element to check.
307333 * @returns {boolean} True if the element is in the viewport, false otherwise.
@@ -1545,13 +1571,29 @@ export function setValueByPath(obj, path, value) {
15451571/**
15461572 * Flashes the given HTML element via CSS flash animation for a defined period
15471573 * @param {JQuery<HTMLElement>} element - The element to flash
15481574 * @param {number} timespan - A numernumber in milliseconds how the flash should last (default is 2000ms. Multiples of 1000ms work best, as they end with the flash animation being at 100% opacity)
15491575 */
15501576export function flashHighlight(element, timespan = 2000) {
1577+ const flashDuration = 2000; // Duration of a single flash cycle in milliseconds
1578+
15511579 element.addClass('flash animated');
1552- setTimeout(() => element.removeClass('flash animated'), timespan);
1580+ element.css('--animation-duration', `${flashDuration}ms`);
1581+
1582+ // Repeat the flash animation
1583+ const intervalId = setInterval(() => {
1584+ element.removeClass('flash animated');
1585+ void element[0].offsetWidth; // Trigger reflow to restart animation
1586+ element.addClass('flash animated');
1587+ }, flashDuration);
1588+
1589+ setTimeout(() => {
1590+ clearInterval(intervalId);
1591+ element.removeClass('flash animated');
1592+ element.css('--animation-duration', '');
1593+ }, timespan);
15531594}
15541595
1596+
15551597/**
15561598 * Checks if the given control has an animation applied to it
15571599 *
public/scripts/variables.js+14 -4
@@ -1874,21 +1874,31 @@ export function registerVariableCommands() {
18741874 unnamedArgumentList: [
18751875 SlashCommandArgument.fromProps({
18761876 description: 'value',
18771877 typeList: [ARGUMENT_TYPE.STRING, ARGUMENT_TYPE.NUMBER, ARGUMENT_TYPE.VARIABLE_NAMELIST, ARGUMENT_TYPE.DICTIONARY],
18781878 isRequired: true,
1879- enumProvider: commonEnumProviders.variables('all'),
18801879 forceEnum: false,
18811880 }),
18821881 ],
18831882 helpString: `
18841883 <div>
18851884 Gets the length of a value and passes the result down the pipe. Can use variable names.
1885+ <ul>
1886+ <li>
1887+ For strings, returns the number of characters.
1888+ </li>
1889+ <li>
1890+ For lists and dictionaries, returns the number of elements.
1891+ </li>
1892+ <li>
1893+ For numbers, returns the number of digits (including the sign and decimal point).
1894+ </li>
1895+ </ul>
18861896 </div>
18871897 <div>
18881898 <strong>Example:</strong>
18891899 <ul>
18901900 <li>
18911901 <pre><code class="language-stscript">/len iLorem ipsum | /echo</code></pre>
18921902 </li>
18931903 </ul>
18941904 </div>
public/scripts/world-info.js+8 -7
@@ -14,9 +14,8 @@ import { SlashCommand } from './slash-commands/SlashCommand.js';
1414import { ARGUMENT_TYPE, SlashCommandArgument, SlashCommandNamedArgument } from './slash-commands/SlashCommandArgument.js';
1515import { SlashCommandEnumValue, enumTypes } from './slash-commands/SlashCommandEnumValue.js';
1616import { commonEnumProviders, enumIcons } from './slash-commands/SlashCommandCommonEnumsProvider.js';
17-import { SlashCommandExecutor } from './slash-commands/SlashCommandExecutor.js';
1817import { SlashCommandClosure } from './slash-commands/SlashCommandClosure.js';
1918import { callGenericPopup, Popup, POPUP_TYPE } from './popup.js';
2019
2120export {
2221 world_info,
@@ -1222,7 +1221,7 @@ function registerWorldInfoSlashCommands() {
12221221 enumTypes.enum, enumIcons.getDataTypeIcon(value.type))),
12231222
12241223 /** All existing UIDs based on the file argument as world name */
12251224 wiUids: (/** @type {import('./slash-commands/SlashCommandExecutor.js').SlashCommandExecutor} */ executor) => {
12261225 const file = executor.namedArgumentList.find(it => it.name == 'file')?.value;
12271226 if (file instanceof SlashCommandClosure) throw new Error('Argument \'file\' does not support closures');
12281227 // Try find world from cache
@@ -3168,7 +3167,8 @@ function duplicateWorldInfoEntry(data, uid) {
31683167 }
31693168
31703169 // Exclude uid and gather the rest of the properties
31713170 const { uid:originalData _,= ..Object.originalData assign({} =, data.entries[uid]);
3171+ delete originalData.uid;
31723172
31733173 // Create new entry and copy over data
31743174 const entry = createWorldInfoEntry(data.name, data);
@@ -4327,7 +4327,7 @@ export function checkEmbeddedWorld(chid) {
43274327 importEmbeddedWorldInfo(true);
43284328 }
43294329 };
43304330 callPopupcallGenericPopup(html, 'confirm'POPUP_TYPE.CONFIRM, '', { okButton: 'Yes' }).then(checkResult);
43314331 }
43324332 else {
43334333 toastr.info(
@@ -4429,8 +4429,9 @@ function onWorldInfoChange(args, text) {
44294429 $('#world_info').val(null).trigger('change');
44304430 }
44314431 } else { //if it's a pointer selection
44324432 letconst tempWorldInfo = [];
4433- let selectedWorlds = $('#world_info').val().map((e) => Number(e)).filter((e) => !isNaN(e));
4433+ const val = $('#world_info').val();
4434+ const selectedWorlds = (Array.isArray(val) ? val : [val]).map((e) => Number(e)).filter((e) => !isNaN(e));
44344435 if (selectedWorlds.length > 0) {
44354436 selectedWorlds.forEach((worldIndex) => {
44364437 const existingWorldName = world_names[worldIndex];
public/style.css+5 -2
@@ -138,6 +138,7 @@ body {
138138 /*fallback for JS load*/
139139 height: 100vh;
140140 height: 100svh;
141+ height: 100dvh;
141142 /*defaults as 100%, then reassigned via JS as pixels, will work on PC and Android*/
142143 /*height: calc(var(--doc-height) - 1px);*/
143144 background-color: var(--greyCAIbg);
@@ -207,8 +208,8 @@ table.responsiveTable {
207208}
208209
209210.animated {
210211 -webkit-animation-duration: var(--animation-duration, 3s) !important;
211212 animation-duration: var(--animation-duration, 3s) !important;
212213 -webkit-animation-fill-mode: both !important;
213214 animation-fill-mode: both !important;
214215 box-shadow: inset 0 0 5px var(--SmartThemeQuoteColor);
@@ -3909,6 +3910,8 @@ input[type="range"]::-webkit-slider-thumb {
39093910 outline: none;
39103911 background-color: var(--black50a);
39113912 line-height: calc(var(--mainFontSize) + .25rem);
3913+ max-height: 75vh;
3914+ max-height: 75dvh;
39123915}
39133916
39143917#anchor_order {
src/endpoints/backends/text-completions.js+46 -0
@@ -588,7 +588,53 @@ llamacpp.post('/slots', jsonParser, async function (request, response) {
588588 }
589589});
590590
591+const tabby = express.Router();
592+
593+tabby.post('/download', jsonParser, async function (request, response) {
594+ try {
595+ const baseUrl = String(request.body.api_server).replace(/\/$/, '');
596+
597+ const args = {
598+ method: 'POST',
599+ headers: { 'Content-Type': 'application/json' },
600+ body: JSON.stringify(request.body),
601+ timeout: 0,
602+ };
603+
604+ setAdditionalHeaders(request, args, baseUrl);
605+
606+ // Check key permissions
607+ const permissionResponse = await fetch(`${baseUrl}/v1/auth/permission`, {
608+ headers: args.headers,
609+ });
610+
611+ if (permissionResponse.ok) {
612+ const permissionJson = await permissionResponse.json();
613+
614+ if (permissionJson['permission'] !== 'admin') {
615+ return response.status(403).send({ error: true });
616+ }
617+ } else {
618+ console.log('API Permission error:', permissionResponse.status, permissionResponse.statusText);
619+ return response.status(permissionResponse.status).send({ error: true });
620+ }
621+
622+ const fetchResponse = await fetch(`${baseUrl}/v1/download`, args);
623+
624+ if (!fetchResponse.ok) {
625+ console.log('Download error:', fetchResponse.status, fetchResponse.statusText);
626+ return response.status(fetchResponse.status).send({ error: true });
627+ }
628+
629+ return response.send({ ok: true });
630+ } catch (error) {
631+ console.error(error);
632+ return response.status(500);
633+ }
634+});
635+
591636router.use('/ollama', ollama);
592637router.use('/llamacpp', llamacpp);
638+router.use('/tabby', tabby);
593639
594640module.exports = { router };
src/endpoints/speech.js+1 -1
@@ -40,7 +40,7 @@ router.post('/recognize', jsonParser, async (req, res) => {
4040 const pipe = await module.default.getPipeline(TASK, model);
4141 const wav = getWaveFile(audio);
4242 const start = performance.now();
4343 const result = await pipe(wav, { language: lang || null, task: 'transcribe' });
4444 const end = performance.now();
4545 console.log(`Execution duration: ${(end - start) / 1000} seconds`);
4646 console.log('Transcribed audio:', result.text);
src/transformers.mjs+5 -0
@@ -94,8 +94,12 @@ function getModelForTask(task) {
9494 */
9595async function getPipeline(task, forceModel = '') {
9696 if (tasks[task].pipeline) {
97+ if (forceModel === '' || tasks[task].currentModel === forceModel) {
9798 return tasks[task].pipeline;
9899 }
100+ console.log('Disposing transformers.js pipeline for for task', task, 'with model', tasks[task].currentModel);
101+ await tasks[task].pipeline.dispose();
102+ }
99103
100104 const cache_dir = path.join(process.cwd(), 'cache');
101105 const model = forceModel || getModelForTask(task);
@@ -103,6 +107,7 @@ async function getPipeline(task, forceModel = '') {
103107 console.log('Initializing transformers.js pipeline for task', task, 'with model', model);
104108 const instance = await pipeline(task, model, { cache_dir, quantized: tasks[task].quantized ?? true, local_files_only: localOnly });
105109 tasks[task].pipeline = instance;
110+ tasks[task].currentModel = model;
106111 return instance;
107112}
108113
tests/.eslintrc.js+37 -0
@@ -0,0 +1,37 @@
1+module.exports = {
2+ root: true,
3+ plugins: [
4+ 'jest',
5+ ],
6+ extends: [
7+ 'eslint:recommended',
8+ ],
9+ env: {
10+ es6: true,
11+ node: true,
12+ "jest/globals": true,
13+ },
14+ parserOptions: {
15+ ecmaVersion: 'latest',
16+ },
17+ overrides: [
18+ ],
19+ ignorePatterns: [
20+ ],
21+ rules: {
22+ 'no-unused-vars': ['error', { args: 'none' }],
23+ 'no-control-regex': 'off',
24+ 'no-constant-condition': ['error', { checkLoops: false }],
25+ 'require-yield': 'off',
26+ 'quotes': ['error', 'single'],
27+ 'semi': ['error', 'always'],
28+ 'indent': ['error', 4, { SwitchCase: 1, FunctionDeclaration: { parameters: 'first' } }],
29+ 'comma-dangle': ['error', 'always-multiline'],
30+ 'eol-last': ['error', 'always'],
31+ 'no-trailing-spaces': 'error',
32+ 'object-curly-spacing': ['error', 'always'],
33+ 'space-infix-ops': 'error',
34+ 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
35+ 'no-cond-assign': 'error',
36+ },
37+};
tests/jest.config.json+9 -0
@@ -0,0 +1,9 @@
1+{
2+ "verbose": true,
3+ "transform": {},
4+ "extensionsToTreatAsEsm": [],
5+ "preset": "jest-puppeteer",
6+ "setupFilesAfterEnv": [
7+ "<rootDir>/jest.setup.js"
8+ ]
9+}
tests/jest.setup.js+2 -0
@@ -0,0 +1,2 @@
1+// Initialize global variables for Jest tests here
2+global.ST_URL = 'http://localhost:8000';
tests/package-lock.json+1727 -0
@@ -0,0 +1,5977 @@
1+{
2+ "name": "sillytavern-tests",
3+ "lockfileVersion": 3,
4+ "requires": true,
5+ "packages": {
6+ "": {
7+ "name": "sillytavern-tests",
8+ "license": "AGPL-3.0",
9+ "dependencies": {
10+ "@types/jest": "^29.5.12",
11+ "eslint": "^8.57.0",
12+ "eslint-plugin-jest": "^28.6.0",
13+ "jest": "^29.7.0",
14+ "jest-puppeteer": "^10.0.1"
15+ }
16+ },
17+ "node_modules/@ampproject/remapping": {
18+ "version": "2.3.0",
19+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
20+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
21+ "license": "Apache-2.0",
22+ "dependencies": {
23+ "@jridgewell/gen-mapping": "^0.3.5",
24+ "@jridgewell/trace-mapping": "^0.3.24"
25+ },
26+ "engines": {
27+ "node": ">=6.0.0"
28+ }
29+ },
30+ "node_modules/@babel/code-frame": {
31+ "version": "7.24.7",
32+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
33+ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
34+ "license": "MIT",
35+ "dependencies": {
36+ "@babel/highlight": "^7.24.7",
37+ "picocolors": "^1.0.0"
38+ },
39+ "engines": {
40+ "node": ">=6.9.0"
41+ }
42+ },
43+ "node_modules/@babel/compat-data": {
44+ "version": "7.24.7",
45+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz",
46+ "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==",
47+ "license": "MIT",
48+ "engines": {
49+ "node": ">=6.9.0"
50+ }
51+ },
52+ "node_modules/@babel/core": {
53+ "version": "7.24.7",
54+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz",
55+ "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==",
56+ "license": "MIT",
57+ "dependencies": {
58+ "@ampproject/remapping": "^2.2.0",
59+ "@babel/code-frame": "^7.24.7",
60+ "@babel/generator": "^7.24.7",
61+ "@babel/helper-compilation-targets": "^7.24.7",
62+ "@babel/helper-module-transforms": "^7.24.7",
63+ "@babel/helpers": "^7.24.7",
64+ "@babel/parser": "^7.24.7",
65+ "@babel/template": "^7.24.7",
66+ "@babel/traverse": "^7.24.7",
67+ "@babel/types": "^7.24.7",
68+ "convert-source-map": "^2.0.0",
69+ "debug": "^4.1.0",
70+ "gensync": "^1.0.0-beta.2",
71+ "json5": "^2.2.3",
72+ "semver": "^6.3.1"
73+ },
74+ "engines": {
75+ "node": ">=6.9.0"
76+ },
77+ "funding": {
78+ "type": "opencollective",
79+ "url": "https://opencollective.com/babel"
80+ }
81+ },
82+ "node_modules/@babel/generator": {
83+ "version": "7.24.7",
84+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
85+ "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
86+ "license": "MIT",
87+ "dependencies": {
88+ "@babel/types": "^7.24.7",
89+ "@jridgewell/gen-mapping": "^0.3.5",
90+ "@jridgewell/trace-mapping": "^0.3.25",
91+ "jsesc": "^2.5.1"
92+ },
93+ "engines": {
94+ "node": ">=6.9.0"
95+ }
96+ },
97+ "node_modules/@babel/helper-compilation-targets": {
98+ "version": "7.24.7",
99+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz",
100+ "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==",
101+ "license": "MIT",
102+ "dependencies": {
103+ "@babel/compat-data": "^7.24.7",
104+ "@babel/helper-validator-option": "^7.24.7",
105+ "browserslist": "^4.22.2",
106+ "lru-cache": "^5.1.1",
107+ "semver": "^6.3.1"
108+ },
109+ "engines": {
110+ "node": ">=6.9.0"
111+ }
112+ },
113+ "node_modules/@babel/helper-environment-visitor": {
114+ "version": "7.24.7",
115+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
116+ "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
117+ "license": "MIT",
118+ "dependencies": {
119+ "@babel/types": "^7.24.7"
120+ },
121+ "engines": {
122+ "node": ">=6.9.0"
123+ }
124+ },
125+ "node_modules/@babel/helper-function-name": {
126+ "version": "7.24.7",
127+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
128+ "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
129+ "license": "MIT",
130+ "dependencies": {
131+ "@babel/template": "^7.24.7",
132+ "@babel/types": "^7.24.7"
133+ },
134+ "engines": {
135+ "node": ">=6.9.0"
136+ }
137+ },
138+ "node_modules/@babel/helper-hoist-variables": {
139+ "version": "7.24.7",
140+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
141+ "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
142+ "license": "MIT",
143+ "dependencies": {
144+ "@babel/types": "^7.24.7"
145+ },
146+ "engines": {
147+ "node": ">=6.9.0"
148+ }
149+ },
150+ "node_modules/@babel/helper-module-imports": {
151+ "version": "7.24.7",
152+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
153+ "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
154+ "license": "MIT",
155+ "dependencies": {
156+ "@babel/traverse": "^7.24.7",
157+ "@babel/types": "^7.24.7"
158+ },
159+ "engines": {
160+ "node": ">=6.9.0"
161+ }
162+ },
163+ "node_modules/@babel/helper-module-transforms": {
164+ "version": "7.24.7",
165+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz",
166+ "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==",
167+ "license": "MIT",
168+ "dependencies": {
169+ "@babel/helper-environment-visitor": "^7.24.7",
170+ "@babel/helper-module-imports": "^7.24.7",
171+ "@babel/helper-simple-access": "^7.24.7",
172+ "@babel/helper-split-export-declaration": "^7.24.7",
173+ "@babel/helper-validator-identifier": "^7.24.7"
174+ },
175+ "engines": {
176+ "node": ">=6.9.0"
177+ },
178+ "peerDependencies": {
179+ "@babel/core": "^7.0.0"
180+ }
181+ },
182+ "node_modules/@babel/helper-plugin-utils": {
183+ "version": "7.24.7",
184+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
185+ "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
186+ "license": "MIT",
187+ "engines": {
188+ "node": ">=6.9.0"
189+ }
190+ },
191+ "node_modules/@babel/helper-simple-access": {
192+ "version": "7.24.7",
193+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
194+ "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
195+ "license": "MIT",
196+ "dependencies": {
197+ "@babel/traverse": "^7.24.7",
198+ "@babel/types": "^7.24.7"
199+ },
200+ "engines": {
201+ "node": ">=6.9.0"
202+ }
203+ },
204+ "node_modules/@babel/helper-split-export-declaration": {
205+ "version": "7.24.7",
206+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
207+ "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
208+ "license": "MIT",
209+ "dependencies": {
210+ "@babel/types": "^7.24.7"
211+ },
212+ "engines": {
213+ "node": ">=6.9.0"
214+ }
215+ },
216+ "node_modules/@babel/helper-string-parser": {
217+ "version": "7.24.7",
218+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
219+ "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
220+ "license": "MIT",
221+ "engines": {
222+ "node": ">=6.9.0"
223+ }
224+ },
225+ "node_modules/@babel/helper-validator-identifier": {
226+ "version": "7.24.7",
227+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
228+ "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
229+ "license": "MIT",
230+ "engines": {
231+ "node": ">=6.9.0"
232+ }
233+ },
234+ "node_modules/@babel/helper-validator-option": {
235+ "version": "7.24.7",
236+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
237+ "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
238+ "license": "MIT",
239+ "engines": {
240+ "node": ">=6.9.0"
241+ }
242+ },
243+ "node_modules/@babel/helpers": {
244+ "version": "7.24.7",
245+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz",
246+ "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==",
247+ "license": "MIT",
248+ "dependencies": {
249+ "@babel/template": "^7.24.7",
250+ "@babel/types": "^7.24.7"
251+ },
252+ "engines": {
253+ "node": ">=6.9.0"
254+ }
255+ },
256+ "node_modules/@babel/highlight": {
257+ "version": "7.24.7",
258+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
259+ "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
260+ "license": "MIT",
261+ "dependencies": {
262+ "@babel/helper-validator-identifier": "^7.24.7",
263+ "chalk": "^2.4.2",
264+ "js-tokens": "^4.0.0",
265+ "picocolors": "^1.0.0"
266+ },
267+ "engines": {
268+ "node": ">=6.9.0"
269+ }
270+ },
271+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
272+ "version": "3.2.1",
273+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
274+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
275+ "license": "MIT",
276+ "dependencies": {
277+ "color-convert": "^1.9.0"
278+ },
279+ "engines": {
280+ "node": ">=4"
281+ }
282+ },
283+ "node_modules/@babel/highlight/node_modules/chalk": {
284+ "version": "2.4.2",
285+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
286+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
287+ "license": "MIT",
288+ "dependencies": {
289+ "ansi-styles": "^3.2.1",
290+ "escape-string-regexp": "^1.0.5",
291+ "supports-color": "^5.3.0"
292+ },
293+ "engines": {
294+ "node": ">=4"
295+ }
296+ },
297+ "node_modules/@babel/highlight/node_modules/color-convert": {
298+ "version": "1.9.3",
299+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
300+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
301+ "license": "MIT",
302+ "dependencies": {
303+ "color-name": "1.1.3"
304+ }
305+ },
306+ "node_modules/@babel/highlight/node_modules/color-name": {
307+ "version": "1.1.3",
308+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
309+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
310+ "license": "MIT"
311+ },
312+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
313+ "version": "1.0.5",
314+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
315+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
316+ "license": "MIT",
317+ "engines": {
318+ "node": ">=0.8.0"
319+ }
320+ },
321+ "node_modules/@babel/highlight/node_modules/has-flag": {
322+ "version": "3.0.0",
323+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
324+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
325+ "license": "MIT",
326+ "engines": {
327+ "node": ">=4"
328+ }
329+ },
330+ "node_modules/@babel/highlight/node_modules/supports-color": {
331+ "version": "5.5.0",
332+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
333+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
334+ "license": "MIT",
335+ "dependencies": {
336+ "has-flag": "^3.0.0"
337+ },
338+ "engines": {
339+ "node": ">=4"
340+ }
341+ },
342+ "node_modules/@babel/parser": {
343+ "version": "7.24.7",
344+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
345+ "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
346+ "license": "MIT",
347+ "bin": {
348+ "parser": "bin/babel-parser.js"
349+ },
350+ "engines": {
351+ "node": ">=6.0.0"
352+ }
353+ },
354+ "node_modules/@babel/plugin-syntax-async-generators": {
355+ "version": "7.8.4",
356+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
357+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
358+ "license": "MIT",
359+ "dependencies": {
360+ "@babel/helper-plugin-utils": "^7.8.0"
361+ },
362+ "peerDependencies": {
363+ "@babel/core": "^7.0.0-0"
364+ }
365+ },
366+ "node_modules/@babel/plugin-syntax-bigint": {
367+ "version": "7.8.3",
368+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
369+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
370+ "license": "MIT",
371+ "dependencies": {
372+ "@babel/helper-plugin-utils": "^7.8.0"
373+ },
374+ "peerDependencies": {
375+ "@babel/core": "^7.0.0-0"
376+ }
377+ },
378+ "node_modules/@babel/plugin-syntax-class-properties": {
379+ "version": "7.12.13",
380+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
381+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
382+ "license": "MIT",
383+ "dependencies": {
384+ "@babel/helper-plugin-utils": "^7.12.13"
385+ },
386+ "peerDependencies": {
387+ "@babel/core": "^7.0.0-0"
388+ }
389+ },
390+ "node_modules/@babel/plugin-syntax-import-meta": {
391+ "version": "7.10.4",
392+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
393+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
394+ "license": "MIT",
395+ "dependencies": {
396+ "@babel/helper-plugin-utils": "^7.10.4"
397+ },
398+ "peerDependencies": {
399+ "@babel/core": "^7.0.0-0"
400+ }
401+ },
402+ "node_modules/@babel/plugin-syntax-json-strings": {
403+ "version": "7.8.3",
404+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
405+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
406+ "license": "MIT",
407+ "dependencies": {
408+ "@babel/helper-plugin-utils": "^7.8.0"
409+ },
410+ "peerDependencies": {
411+ "@babel/core": "^7.0.0-0"
412+ }
413+ },
414+ "node_modules/@babel/plugin-syntax-jsx": {
415+ "version": "7.24.7",
416+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz",
417+ "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==",
418+ "license": "MIT",
419+ "dependencies": {
420+ "@babel/helper-plugin-utils": "^7.24.7"
421+ },
422+ "engines": {
423+ "node": ">=6.9.0"
424+ },
425+ "peerDependencies": {
426+ "@babel/core": "^7.0.0-0"
427+ }
428+ },
429+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
430+ "version": "7.10.4",
431+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
432+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
433+ "license": "MIT",
434+ "dependencies": {
435+ "@babel/helper-plugin-utils": "^7.10.4"
436+ },
437+ "peerDependencies": {
438+ "@babel/core": "^7.0.0-0"
439+ }
440+ },
441+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
442+ "version": "7.8.3",
443+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
444+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
445+ "license": "MIT",
446+ "dependencies": {
447+ "@babel/helper-plugin-utils": "^7.8.0"
448+ },
449+ "peerDependencies": {
450+ "@babel/core": "^7.0.0-0"
451+ }
452+ },
453+ "node_modules/@babel/plugin-syntax-numeric-separator": {
454+ "version": "7.10.4",
455+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
456+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
457+ "license": "MIT",
458+ "dependencies": {
459+ "@babel/helper-plugin-utils": "^7.10.4"
460+ },
461+ "peerDependencies": {
462+ "@babel/core": "^7.0.0-0"
463+ }
464+ },
465+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
466+ "version": "7.8.3",
467+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
468+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
469+ "license": "MIT",
470+ "dependencies": {
471+ "@babel/helper-plugin-utils": "^7.8.0"
472+ },
473+ "peerDependencies": {
474+ "@babel/core": "^7.0.0-0"
475+ }
476+ },
477+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
478+ "version": "7.8.3",
479+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
480+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
481+ "license": "MIT",
482+ "dependencies": {
483+ "@babel/helper-plugin-utils": "^7.8.0"
484+ },
485+ "peerDependencies": {
486+ "@babel/core": "^7.0.0-0"
487+ }
488+ },
489+ "node_modules/@babel/plugin-syntax-optional-chaining": {
490+ "version": "7.8.3",
491+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
492+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
493+ "license": "MIT",
494+ "dependencies": {
495+ "@babel/helper-plugin-utils": "^7.8.0"
496+ },
497+ "peerDependencies": {
498+ "@babel/core": "^7.0.0-0"
499+ }
500+ },
501+ "node_modules/@babel/plugin-syntax-top-level-await": {
502+ "version": "7.14.5",
503+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
504+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
505+ "license": "MIT",
506+ "dependencies": {
507+ "@babel/helper-plugin-utils": "^7.14.5"
508+ },
509+ "engines": {
510+ "node": ">=6.9.0"
511+ },
512+ "peerDependencies": {
513+ "@babel/core": "^7.0.0-0"
514+ }
515+ },
516+ "node_modules/@babel/plugin-syntax-typescript": {
517+ "version": "7.24.7",
518+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz",
519+ "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==",
520+ "license": "MIT",
521+ "dependencies": {
522+ "@babel/helper-plugin-utils": "^7.24.7"
523+ },
524+ "engines": {
525+ "node": ">=6.9.0"
526+ },
527+ "peerDependencies": {
528+ "@babel/core": "^7.0.0-0"
529+ }
530+ },
531+ "node_modules/@babel/template": {
532+ "version": "7.24.7",
533+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
534+ "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
535+ "license": "MIT",
536+ "dependencies": {
537+ "@babel/code-frame": "^7.24.7",
538+ "@babel/parser": "^7.24.7",
539+ "@babel/types": "^7.24.7"
540+ },
541+ "engines": {
542+ "node": ">=6.9.0"
543+ }
544+ },
545+ "node_modules/@babel/traverse": {
546+ "version": "7.24.7",
547+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
548+ "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
549+ "license": "MIT",
550+ "dependencies": {
551+ "@babel/code-frame": "^7.24.7",
552+ "@babel/generator": "^7.24.7",
553+ "@babel/helper-environment-visitor": "^7.24.7",
554+ "@babel/helper-function-name": "^7.24.7",
555+ "@babel/helper-hoist-variables": "^7.24.7",
556+ "@babel/helper-split-export-declaration": "^7.24.7",
557+ "@babel/parser": "^7.24.7",
558+ "@babel/types": "^7.24.7",
559+ "debug": "^4.3.1",
560+ "globals": "^11.1.0"
561+ },
562+ "engines": {
563+ "node": ">=6.9.0"
564+ }
565+ },
566+ "node_modules/@babel/types": {
567+ "version": "7.24.7",
568+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
569+ "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
570+ "license": "MIT",
571+ "dependencies": {
572+ "@babel/helper-string-parser": "^7.24.7",
573+ "@babel/helper-validator-identifier": "^7.24.7",
574+ "to-fast-properties": "^2.0.0"
575+ },
576+ "engines": {
577+ "node": ">=6.9.0"
578+ }
579+ },
580+ "node_modules/@bcoe/v8-coverage": {
581+ "version": "0.2.3",
582+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
583+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
584+ "license": "MIT"
585+ },
586+ "node_modules/@eslint-community/eslint-utils": {
587+ "version": "4.4.0",
588+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
589+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
590+ "license": "MIT",
591+ "dependencies": {
592+ "eslint-visitor-keys": "^3.3.0"
593+ },
594+ "engines": {
595+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
596+ },
597+ "peerDependencies": {
598+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
599+ }
600+ },
601+ "node_modules/@eslint-community/regexpp": {
602+ "version": "4.11.0",
603+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
604+ "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
605+ "license": "MIT",
606+ "engines": {
607+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
608+ }
609+ },
610+ "node_modules/@eslint/eslintrc": {
611+ "version": "2.1.4",
612+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
613+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
614+ "license": "MIT",
615+ "dependencies": {
616+ "ajv": "^6.12.4",
617+ "debug": "^4.3.2",
618+ "espree": "^9.6.0",
619+ "globals": "^13.19.0",
620+ "ignore": "^5.2.0",
621+ "import-fresh": "^3.2.1",
622+ "js-yaml": "^4.1.0",
623+ "minimatch": "^3.1.2",
624+ "strip-json-comments": "^3.1.1"
625+ },
626+ "engines": {
627+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
628+ },
629+ "funding": {
630+ "url": "https://opencollective.com/eslint"
631+ }
632+ },
633+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
634+ "version": "2.0.1",
635+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
636+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
637+ "license": "Python-2.0"
638+ },
639+ "node_modules/@eslint/eslintrc/node_modules/globals": {
640+ "version": "13.24.0",
641+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
642+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
643+ "license": "MIT",
644+ "dependencies": {
645+ "type-fest": "^0.20.2"
646+ },
647+ "engines": {
648+ "node": ">=8"
649+ },
650+ "funding": {
651+ "url": "https://github.com/sponsors/sindresorhus"
652+ }
653+ },
654+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
655+ "version": "4.1.0",
656+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
657+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
658+ "license": "MIT",
659+ "dependencies": {
660+ "argparse": "^2.0.1"
661+ },
662+ "bin": {
663+ "js-yaml": "bin/js-yaml.js"
664+ }
665+ },
666+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
667+ "version": "0.20.2",
668+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
669+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
670+ "license": "(MIT OR CC0-1.0)",
671+ "engines": {
672+ "node": ">=10"
673+ },
674+ "funding": {
675+ "url": "https://github.com/sponsors/sindresorhus"
676+ }
677+ },
678+ "node_modules/@eslint/js": {
679+ "version": "8.57.0",
680+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
681+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
682+ "license": "MIT",
683+ "engines": {
684+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
685+ }
686+ },
687+ "node_modules/@hapi/hoek": {
688+ "version": "9.3.0",
689+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
690+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
691+ "license": "BSD-3-Clause"
692+ },
693+ "node_modules/@hapi/topo": {
694+ "version": "5.1.0",
695+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
696+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
697+ "license": "BSD-3-Clause",
698+ "dependencies": {
699+ "@hapi/hoek": "^9.0.0"
700+ }
701+ },
702+ "node_modules/@humanwhocodes/config-array": {
703+ "version": "0.11.14",
704+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
705+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
706+ "deprecated": "Use @eslint/config-array instead",
707+ "license": "Apache-2.0",
708+ "dependencies": {
709+ "@humanwhocodes/object-schema": "^2.0.2",
710+ "debug": "^4.3.1",
711+ "minimatch": "^3.0.5"
712+ },
713+ "engines": {
714+ "node": ">=10.10.0"
715+ }
716+ },
717+ "node_modules/@humanwhocodes/module-importer": {
718+ "version": "1.0.1",
719+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
720+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
721+ "license": "Apache-2.0",
722+ "engines": {
723+ "node": ">=12.22"
724+ },
725+ "funding": {
726+ "type": "github",
727+ "url": "https://github.com/sponsors/nzakas"
728+ }
729+ },
730+ "node_modules/@humanwhocodes/object-schema": {
731+ "version": "2.0.3",
732+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
733+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
734+ "deprecated": "Use @eslint/object-schema instead",
735+ "license": "BSD-3-Clause"
736+ },
737+ "node_modules/@istanbuljs/load-nyc-config": {
738+ "version": "1.1.0",
739+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
740+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
741+ "license": "ISC",
742+ "dependencies": {
743+ "camelcase": "^5.3.1",
744+ "find-up": "^4.1.0",
745+ "get-package-type": "^0.1.0",
746+ "js-yaml": "^3.13.1",
747+ "resolve-from": "^5.0.0"
748+ },
749+ "engines": {
750+ "node": ">=8"
751+ }
752+ },
753+ "node_modules/@istanbuljs/schema": {
754+ "version": "0.1.3",
755+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
756+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
757+ "license": "MIT",
758+ "engines": {
759+ "node": ">=8"
760+ }
761+ },
762+ "node_modules/@jest/console": {
763+ "version": "29.7.0",
764+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
765+ "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
766+ "license": "MIT",
767+ "dependencies": {
768+ "@jest/types": "^29.6.3",
769+ "@types/node": "*",
770+ "chalk": "^4.0.0",
771+ "jest-message-util": "^29.7.0",
772+ "jest-util": "^29.7.0",
773+ "slash": "^3.0.0"
774+ },
775+ "engines": {
776+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
777+ }
778+ },
779+ "node_modules/@jest/core": {
780+ "version": "29.7.0",
781+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
782+ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
783+ "license": "MIT",
784+ "dependencies": {
785+ "@jest/console": "^29.7.0",
786+ "@jest/reporters": "^29.7.0",
787+ "@jest/test-result": "^29.7.0",
788+ "@jest/transform": "^29.7.0",
789+ "@jest/types": "^29.6.3",
790+ "@types/node": "*",
791+ "ansi-escapes": "^4.2.1",
792+ "chalk": "^4.0.0",
793+ "ci-info": "^3.2.0",
794+ "exit": "^0.1.2",
795+ "graceful-fs": "^4.2.9",
796+ "jest-changed-files": "^29.7.0",
797+ "jest-config": "^29.7.0",
798+ "jest-haste-map": "^29.7.0",
799+ "jest-message-util": "^29.7.0",
800+ "jest-regex-util": "^29.6.3",
801+ "jest-resolve": "^29.7.0",
802+ "jest-resolve-dependencies": "^29.7.0",
803+ "jest-runner": "^29.7.0",
804+ "jest-runtime": "^29.7.0",
805+ "jest-snapshot": "^29.7.0",
806+ "jest-util": "^29.7.0",
807+ "jest-validate": "^29.7.0",
808+ "jest-watcher": "^29.7.0",
809+ "micromatch": "^4.0.4",
810+ "pretty-format": "^29.7.0",
811+ "slash": "^3.0.0",
812+ "strip-ansi": "^6.0.0"
813+ },
814+ "engines": {
815+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
816+ },
817+ "peerDependencies": {
818+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
819+ },
820+ "peerDependenciesMeta": {
821+ "node-notifier": {
822+ "optional": true
823+ }
824+ }
825+ },
826+ "node_modules/@jest/environment": {
827+ "version": "29.7.0",
828+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
829+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
830+ "license": "MIT",
831+ "dependencies": {
832+ "@jest/fake-timers": "^29.7.0",
833+ "@jest/types": "^29.6.3",
834+ "@types/node": "*",
835+ "jest-mock": "^29.7.0"
836+ },
837+ "engines": {
838+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
839+ }
840+ },
841+ "node_modules/@jest/expect": {
842+ "version": "29.7.0",
843+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
844+ "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
845+ "license": "MIT",
846+ "dependencies": {
847+ "expect": "^29.7.0",
848+ "jest-snapshot": "^29.7.0"
849+ },
850+ "engines": {
851+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
852+ }
853+ },
854+ "node_modules/@jest/expect-utils": {
855+ "version": "29.7.0",
856+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
857+ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
858+ "license": "MIT",
859+ "dependencies": {
860+ "jest-get-type": "^29.6.3"
861+ },
862+ "engines": {
863+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
864+ }
865+ },
866+ "node_modules/@jest/fake-timers": {
867+ "version": "29.7.0",
868+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
869+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
870+ "license": "MIT",
871+ "dependencies": {
872+ "@jest/types": "^29.6.3",
873+ "@sinonjs/fake-timers": "^10.0.2",
874+ "@types/node": "*",
875+ "jest-message-util": "^29.7.0",
876+ "jest-mock": "^29.7.0",
877+ "jest-util": "^29.7.0"
878+ },
879+ "engines": {
880+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
881+ }
882+ },
883+ "node_modules/@jest/globals": {
884+ "version": "29.7.0",
885+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
886+ "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
887+ "license": "MIT",
888+ "dependencies": {
889+ "@jest/environment": "^29.7.0",
890+ "@jest/expect": "^29.7.0",
891+ "@jest/types": "^29.6.3",
892+ "jest-mock": "^29.7.0"
893+ },
894+ "engines": {
895+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
896+ }
897+ },
898+ "node_modules/@jest/reporters": {
899+ "version": "29.7.0",
900+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
901+ "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
902+ "license": "MIT",
903+ "dependencies": {
904+ "@bcoe/v8-coverage": "^0.2.3",
905+ "@jest/console": "^29.7.0",
906+ "@jest/test-result": "^29.7.0",
907+ "@jest/transform": "^29.7.0",
908+ "@jest/types": "^29.6.3",
909+ "@jridgewell/trace-mapping": "^0.3.18",
910+ "@types/node": "*",
911+ "chalk": "^4.0.0",
912+ "collect-v8-coverage": "^1.0.0",
913+ "exit": "^0.1.2",
914+ "glob": "^7.1.3",
915+ "graceful-fs": "^4.2.9",
916+ "istanbul-lib-coverage": "^3.0.0",
917+ "istanbul-lib-instrument": "^6.0.0",
918+ "istanbul-lib-report": "^3.0.0",
919+ "istanbul-lib-source-maps": "^4.0.0",
920+ "istanbul-reports": "^3.1.3",
921+ "jest-message-util": "^29.7.0",
922+ "jest-util": "^29.7.0",
923+ "jest-worker": "^29.7.0",
924+ "slash": "^3.0.0",
925+ "string-length": "^4.0.1",
926+ "strip-ansi": "^6.0.0",
927+ "v8-to-istanbul": "^9.0.1"
928+ },
929+ "engines": {
930+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
931+ },
932+ "peerDependencies": {
933+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
934+ },
935+ "peerDependenciesMeta": {
936+ "node-notifier": {
937+ "optional": true
938+ }
939+ }
940+ },
941+ "node_modules/@jest/schemas": {
942+ "version": "29.6.3",
943+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
944+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
945+ "license": "MIT",
946+ "dependencies": {
947+ "@sinclair/typebox": "^0.27.8"
948+ },
949+ "engines": {
950+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
951+ }
952+ },
953+ "node_modules/@jest/source-map": {
954+ "version": "29.6.3",
955+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
956+ "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
957+ "license": "MIT",
958+ "dependencies": {
959+ "@jridgewell/trace-mapping": "^0.3.18",
960+ "callsites": "^3.0.0",
961+ "graceful-fs": "^4.2.9"
962+ },
963+ "engines": {
964+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
965+ }
966+ },
967+ "node_modules/@jest/test-result": {
968+ "version": "29.7.0",
969+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
970+ "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
971+ "license": "MIT",
972+ "dependencies": {
973+ "@jest/console": "^29.7.0",
974+ "@jest/types": "^29.6.3",
975+ "@types/istanbul-lib-coverage": "^2.0.0",
976+ "collect-v8-coverage": "^1.0.0"
977+ },
978+ "engines": {
979+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
980+ }
981+ },
982+ "node_modules/@jest/test-sequencer": {
983+ "version": "29.7.0",
984+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
985+ "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
986+ "license": "MIT",
987+ "dependencies": {
988+ "@jest/test-result": "^29.7.0",
989+ "graceful-fs": "^4.2.9",
990+ "jest-haste-map": "^29.7.0",
991+ "slash": "^3.0.0"
992+ },
993+ "engines": {
994+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
995+ }
996+ },
997+ "node_modules/@jest/transform": {
998+ "version": "29.7.0",
999+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
1000+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
1001+ "license": "MIT",
1002+ "dependencies": {
1003+ "@babel/core": "^7.11.6",
1004+ "@jest/types": "^29.6.3",
1005+ "@jridgewell/trace-mapping": "^0.3.18",
1006+ "babel-plugin-istanbul": "^6.1.1",
1007+ "chalk": "^4.0.0",
1008+ "convert-source-map": "^2.0.0",
1009+ "fast-json-stable-stringify": "^2.1.0",
1010+ "graceful-fs": "^4.2.9",
1011+ "jest-haste-map": "^29.7.0",
1012+ "jest-regex-util": "^29.6.3",
1013+ "jest-util": "^29.7.0",
1014+ "micromatch": "^4.0.4",
1015+ "pirates": "^4.0.4",
1016+ "slash": "^3.0.0",
1017+ "write-file-atomic": "^4.0.2"
1018+ },
1019+ "engines": {
1020+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
1021+ }
1022+ },
1023+ "node_modules/@jest/types": {
1024+ "version": "29.6.3",
1025+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
1026+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
1027+ "license": "MIT",
1028+ "dependencies": {
1029+ "@jest/schemas": "^29.6.3",
1030+ "@types/istanbul-lib-coverage": "^2.0.0",
1031+ "@types/istanbul-reports": "^3.0.0",
1032+ "@types/node": "*",
1033+ "@types/yargs": "^17.0.8",
1034+ "chalk": "^4.0.0"
1035+ },
1036+ "engines": {
1037+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
1038+ }
1039+ },
1040+ "node_modules/@jridgewell/gen-mapping": {
1041+ "version": "0.3.5",
1042+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
1043+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
1044+ "license": "MIT",
1045+ "dependencies": {
1046+ "@jridgewell/set-array": "^1.2.1",
1047+ "@jridgewell/sourcemap-codec": "^1.4.10",
1048+ "@jridgewell/trace-mapping": "^0.3.24"
1049+ },
1050+ "engines": {
1051+ "node": ">=6.0.0"
1052+ }
1053+ },
1054+ "node_modules/@jridgewell/resolve-uri": {
1055+ "version": "3.1.2",
1056+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
1057+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
1058+ "license": "MIT",
1059+ "engines": {
1060+ "node": ">=6.0.0"
1061+ }
1062+ },
1063+ "node_modules/@jridgewell/set-array": {
1064+ "version": "1.2.1",
1065+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
1066+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
1067+ "license": "MIT",
1068+ "engines": {
1069+ "node": ">=6.0.0"
1070+ }
1071+ },
1072+ "node_modules/@jridgewell/sourcemap-codec": {
1073+ "version": "1.5.0",
1074+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
1075+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
1076+ "license": "MIT"
1077+ },
1078+ "node_modules/@jridgewell/trace-mapping": {
1079+ "version": "0.3.25",
1080+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
1081+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
1082+ "license": "MIT",
1083+ "dependencies": {
1084+ "@jridgewell/resolve-uri": "^3.1.0",
1085+ "@jridgewell/sourcemap-codec": "^1.4.14"
1086+ }
1087+ },
1088+ "node_modules/@nodelib/fs.scandir": {
1089+ "version": "2.1.5",
1090+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
1091+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
1092+ "license": "MIT",
1093+ "dependencies": {
1094+ "@nodelib/fs.stat": "2.0.5",
1095+ "run-parallel": "^1.1.9"
1096+ },
1097+ "engines": {
1098+ "node": ">= 8"
1099+ }
1100+ },
1101+ "node_modules/@nodelib/fs.stat": {
1102+ "version": "2.0.5",
1103+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
1104+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
1105+ "license": "MIT",
1106+ "engines": {
1107+ "node": ">= 8"
1108+ }
1109+ },
1110+ "node_modules/@nodelib/fs.walk": {
1111+ "version": "1.2.8",
1112+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
1113+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
1114+ "license": "MIT",
1115+ "dependencies": {
1116+ "@nodelib/fs.scandir": "2.1.5",
1117+ "fastq": "^1.6.0"
1118+ },
1119+ "engines": {
1120+ "node": ">= 8"
1121+ }
1122+ },
1123+ "node_modules/@puppeteer/browsers": {
1124+ "version": "2.2.3",
1125+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.3.tgz",
1126+ "integrity": "sha512-bJ0UBsk0ESOs6RFcLXOt99a3yTDcOKlzfjad+rhFwdaG1Lu/Wzq58GHYCDTlZ9z6mldf4g+NTb+TXEfe0PpnsQ==",
1127+ "license": "Apache-2.0",
1128+ "peer": true,
1129+ "dependencies": {
1130+ "debug": "4.3.4",
1131+ "extract-zip": "2.0.1",
1132+ "progress": "2.0.3",
1133+ "proxy-agent": "6.4.0",
1134+ "semver": "7.6.0",
1135+ "tar-fs": "3.0.5",
1136+ "unbzip2-stream": "1.4.3",
1137+ "yargs": "17.7.2"
1138+ },
1139+ "bin": {
1140+ "browsers": "lib/cjs/main-cli.js"
1141+ },
1142+ "engines": {
1143+ "node": ">=18"
1144+ }
1145+ },
1146+ "node_modules/@puppeteer/browsers/node_modules/debug": {
1147+ "version": "4.3.4",
1148+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1149+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1150+ "license": "MIT",
1151+ "peer": true,
1152+ "dependencies": {
1153+ "ms": "2.1.2"
1154+ },
1155+ "engines": {
1156+ "node": ">=6.0"
1157+ },
1158+ "peerDependenciesMeta": {
1159+ "supports-color": {
1160+ "optional": true
1161+ }
1162+ }
1163+ },
1164+ "node_modules/@puppeteer/browsers/node_modules/lru-cache": {
1165+ "version": "6.0.0",
1166+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1167+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1168+ "license": "ISC",
1169+ "peer": true,
1170+ "dependencies": {
1171+ "yallist": "^4.0.0"
1172+ },
1173+ "engines": {
1174+ "node": ">=10"
1175+ }
1176+ },
1177+ "node_modules/@puppeteer/browsers/node_modules/semver": {
1178+ "version": "7.6.0",
1179+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
1180+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
1181+ "license": "ISC",
1182+ "peer": true,
1183+ "dependencies": {
1184+ "lru-cache": "^6.0.0"
1185+ },
1186+ "bin": {
1187+ "semver": "bin/semver.js"
1188+ },
1189+ "engines": {
1190+ "node": ">=10"
1191+ }
1192+ },
1193+ "node_modules/@puppeteer/browsers/node_modules/yallist": {
1194+ "version": "4.0.0",
1195+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1196+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1197+ "license": "ISC",
1198+ "peer": true
1199+ },
1200+ "node_modules/@sideway/address": {
1201+ "version": "4.1.5",
1202+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
1203+ "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
1204+ "license": "BSD-3-Clause",
1205+ "dependencies": {
1206+ "@hapi/hoek": "^9.0.0"
1207+ }
1208+ },
1209+ "node_modules/@sideway/formula": {
1210+ "version": "3.0.1",
1211+ "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
1212+ "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
1213+ "license": "BSD-3-Clause"
1214+ },
1215+ "node_modules/@sideway/pinpoint": {
1216+ "version": "2.0.0",
1217+ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
1218+ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
1219+ "license": "BSD-3-Clause"
1220+ },
1221+ "node_modules/@sinclair/typebox": {
1222+ "version": "0.27.8",
1223+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
1224+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
1225+ "license": "MIT"
1226+ },
1227+ "node_modules/@sinonjs/commons": {
1228+ "version": "3.0.1",
1229+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
1230+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
1231+ "license": "BSD-3-Clause",
1232+ "dependencies": {
1233+ "type-detect": "4.0.8"
1234+ }
1235+ },
1236+ "node_modules/@sinonjs/fake-timers": {
1237+ "version": "10.3.0",
1238+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
1239+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
1240+ "license": "BSD-3-Clause",
1241+ "dependencies": {
1242+ "@sinonjs/commons": "^3.0.0"
1243+ }
1244+ },
1245+ "node_modules/@tootallnate/quickjs-emscripten": {
1246+ "version": "0.23.0",
1247+ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
1248+ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
1249+ "license": "MIT",
1250+ "peer": true
1251+ },
1252+ "node_modules/@types/babel__core": {
1253+ "version": "7.20.5",
1254+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
1255+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1256+ "license": "MIT",
1257+ "dependencies": {
1258+ "@babel/parser": "^7.20.7",
1259+ "@babel/types": "^7.20.7",
1260+ "@types/babel__generator": "*",
1261+ "@types/babel__template": "*",
1262+ "@types/babel__traverse": "*"
1263+ }
1264+ },
1265+ "node_modules/@types/babel__generator": {
1266+ "version": "7.6.8",
1267+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
1268+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
1269+ "license": "MIT",
1270+ "dependencies": {
1271+ "@babel/types": "^7.0.0"
1272+ }
1273+ },
1274+ "node_modules/@types/babel__template": {
1275+ "version": "7.4.4",
1276+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
1277+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1278+ "license": "MIT",
1279+ "dependencies": {
1280+ "@babel/parser": "^7.1.0",
1281+ "@babel/types": "^7.0.0"
1282+ }
1283+ },
1284+ "node_modules/@types/babel__traverse": {
1285+ "version": "7.20.6",
1286+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
1287+ "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
1288+ "license": "MIT",
1289+ "dependencies": {
1290+ "@babel/types": "^7.20.7"
1291+ }
1292+ },
1293+ "node_modules/@types/graceful-fs": {
1294+ "version": "4.1.9",
1295+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
1296+ "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
1297+ "license": "MIT",
1298+ "dependencies": {
1299+ "@types/node": "*"
1300+ }
1301+ },
1302+ "node_modules/@types/istanbul-lib-coverage": {
1303+ "version": "2.0.6",
1304+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
1305+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
1306+ "license": "MIT"
1307+ },
1308+ "node_modules/@types/istanbul-lib-report": {
1309+ "version": "3.0.3",
1310+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
1311+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
1312+ "license": "MIT",
1313+ "dependencies": {
1314+ "@types/istanbul-lib-coverage": "*"
1315+ }
1316+ },
1317+ "node_modules/@types/istanbul-reports": {
1318+ "version": "3.0.4",
1319+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
1320+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
1321+ "license": "MIT",
1322+ "dependencies": {
1323+ "@types/istanbul-lib-report": "*"
1324+ }
1325+ },
1326+ "node_modules/@types/jest": {
1327+ "version": "29.5.12",
1328+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
1329+ "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
1330+ "license": "MIT",
1331+ "dependencies": {
1332+ "expect": "^29.0.0",
1333+ "pretty-format": "^29.0.0"
1334+ }
1335+ },
1336+ "node_modules/@types/node": {
1337+ "version": "20.14.10",
1338+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz",
1339+ "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==",
1340+ "license": "MIT",
1341+ "dependencies": {
1342+ "undici-types": "~5.26.4"
1343+ }
1344+ },
1345+ "node_modules/@types/stack-utils": {
1346+ "version": "2.0.3",
1347+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
1348+ "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
1349+ "license": "MIT"
1350+ },
1351+ "node_modules/@types/yargs": {
1352+ "version": "17.0.32",
1353+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
1354+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
1355+ "license": "MIT",
1356+ "dependencies": {
1357+ "@types/yargs-parser": "*"
1358+ }
1359+ },
1360+ "node_modules/@types/yargs-parser": {
1361+ "version": "21.0.3",
1362+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
1363+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
1364+ "license": "MIT"
1365+ },
1366+ "node_modules/@types/yauzl": {
1367+ "version": "2.10.3",
1368+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
1369+ "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
1370+ "license": "MIT",
1371+ "optional": true,
1372+ "peer": true,
1373+ "dependencies": {
1374+ "@types/node": "*"
1375+ }
1376+ },
1377+ "node_modules/@typescript-eslint/scope-manager": {
1378+ "version": "7.16.0",
1379+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz",
1380+ "integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==",
1381+ "license": "MIT",
1382+ "dependencies": {
1383+ "@typescript-eslint/types": "7.16.0",
1384+ "@typescript-eslint/visitor-keys": "7.16.0"
1385+ },
1386+ "engines": {
1387+ "node": "^18.18.0 || >=20.0.0"
1388+ },
1389+ "funding": {
1390+ "type": "opencollective",
1391+ "url": "https://opencollective.com/typescript-eslint"
1392+ }
1393+ },
1394+ "node_modules/@typescript-eslint/types": {
1395+ "version": "7.16.0",
1396+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz",
1397+ "integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==",
1398+ "license": "MIT",
1399+ "engines": {
1400+ "node": "^18.18.0 || >=20.0.0"
1401+ },
1402+ "funding": {
1403+ "type": "opencollective",
1404+ "url": "https://opencollective.com/typescript-eslint"
1405+ }
1406+ },
1407+ "node_modules/@typescript-eslint/typescript-estree": {
1408+ "version": "7.16.0",
1409+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz",
1410+ "integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==",
1411+ "license": "BSD-2-Clause",
1412+ "dependencies": {
1413+ "@typescript-eslint/types": "7.16.0",
1414+ "@typescript-eslint/visitor-keys": "7.16.0",
1415+ "debug": "^4.3.4",
1416+ "globby": "^11.1.0",
1417+ "is-glob": "^4.0.3",
1418+ "minimatch": "^9.0.4",
1419+ "semver": "^7.6.0",
1420+ "ts-api-utils": "^1.3.0"
1421+ },
1422+ "engines": {
1423+ "node": "^18.18.0 || >=20.0.0"
1424+ },
1425+ "funding": {
1426+ "type": "opencollective",
1427+ "url": "https://opencollective.com/typescript-eslint"
1428+ },
1429+ "peerDependenciesMeta": {
1430+ "typescript": {
1431+ "optional": true
1432+ }
1433+ }
1434+ },
1435+ "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
1436+ "version": "2.0.1",
1437+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1438+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1439+ "license": "MIT",
1440+ "dependencies": {
1441+ "balanced-match": "^1.0.0"
1442+ }
1443+ },
1444+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
1445+ "version": "9.0.5",
1446+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
1447+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
1448+ "license": "ISC",
1449+ "dependencies": {
1450+ "brace-expansion": "^2.0.1"
1451+ },
1452+ "engines": {
1453+ "node": ">=16 || 14 >=14.17"
1454+ },
1455+ "funding": {
1456+ "url": "https://github.com/sponsors/isaacs"
1457+ }
1458+ },
1459+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
1460+ "version": "7.6.2",
1461+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
1462+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
1463+ "license": "ISC",
1464+ "bin": {
1465+ "semver": "bin/semver.js"
1466+ },
1467+ "engines": {
1468+ "node": ">=10"
1469+ }
1470+ },
1471+ "node_modules/@typescript-eslint/utils": {
1472+ "version": "7.16.0",
1473+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz",
1474+ "integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==",
1475+ "license": "MIT",
1476+ "dependencies": {
1477+ "@eslint-community/eslint-utils": "^4.4.0",
1478+ "@typescript-eslint/scope-manager": "7.16.0",
1479+ "@typescript-eslint/types": "7.16.0",
1480+ "@typescript-eslint/typescript-estree": "7.16.0"
1481+ },
1482+ "engines": {
1483+ "node": "^18.18.0 || >=20.0.0"
1484+ },
1485+ "funding": {
1486+ "type": "opencollective",
1487+ "url": "https://opencollective.com/typescript-eslint"
1488+ },
1489+ "peerDependencies": {
1490+ "eslint": "^8.56.0"
1491+ }
1492+ },
1493+ "node_modules/@typescript-eslint/visitor-keys": {
1494+ "version": "7.16.0",
1495+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz",
1496+ "integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==",
1497+ "license": "MIT",
1498+ "dependencies": {
1499+ "@typescript-eslint/types": "7.16.0",
1500+ "eslint-visitor-keys": "^3.4.3"
1501+ },
1502+ "engines": {
1503+ "node": "^18.18.0 || >=20.0.0"
1504+ },
1505+ "funding": {
1506+ "type": "opencollective",
1507+ "url": "https://opencollective.com/typescript-eslint"
1508+ }
1509+ },
1510+ "node_modules/@ungap/structured-clone": {
1511+ "version": "1.2.0",
1512+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
1513+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
1514+ "license": "ISC"
1515+ },
1516+ "node_modules/acorn": {
1517+ "version": "8.12.1",
1518+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
1519+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
1520+ "license": "MIT",
1521+ "bin": {
1522+ "acorn": "bin/acorn"
1523+ },
1524+ "engines": {
1525+ "node": ">=0.4.0"
1526+ }
1527+ },
1528+ "node_modules/acorn-jsx": {
1529+ "version": "5.3.2",
1530+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1531+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1532+ "license": "MIT",
1533+ "peerDependencies": {
1534+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
1535+ }
1536+ },
1537+ "node_modules/agent-base": {
1538+ "version": "7.1.1",
1539+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
1540+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
1541+ "license": "MIT",
1542+ "peer": true,
1543+ "dependencies": {
1544+ "debug": "^4.3.4"
1545+ },
1546+ "engines": {
1547+ "node": ">= 14"
1548+ }
1549+ },
1550+ "node_modules/ajv": {
1551+ "version": "6.12.6",
1552+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1553+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1554+ "license": "MIT",
1555+ "dependencies": {
1556+ "fast-deep-equal": "^3.1.1",
1557+ "fast-json-stable-stringify": "^2.0.0",
1558+ "json-schema-traverse": "^0.4.1",
1559+ "uri-js": "^4.2.2"
1560+ },
1561+ "funding": {
1562+ "type": "github",
1563+ "url": "https://github.com/sponsors/epoberezkin"
1564+ }
1565+ },
1566+ "node_modules/ansi-escapes": {
1567+ "version": "4.3.2",
1568+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
1569+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
1570+ "license": "MIT",
1571+ "dependencies": {
1572+ "type-fest": "^0.21.3"
1573+ },
1574+ "engines": {
1575+ "node": ">=8"
1576+ },
1577+ "funding": {
1578+ "url": "https://github.com/sponsors/sindresorhus"
1579+ }
1580+ },
1581+ "node_modules/ansi-regex": {
1582+ "version": "5.0.1",
1583+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1584+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1585+ "license": "MIT",
1586+ "engines": {
1587+ "node": ">=8"
1588+ }
1589+ },
1590+ "node_modules/ansi-styles": {
1591+ "version": "4.3.0",
1592+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1593+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1594+ "license": "MIT",
1595+ "dependencies": {
1596+ "color-convert": "^2.0.1"
1597+ },
1598+ "engines": {
1599+ "node": ">=8"
1600+ },
1601+ "funding": {
1602+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1603+ }
1604+ },
1605+ "node_modules/anymatch": {
1606+ "version": "3.1.3",
1607+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
1608+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
1609+ "license": "ISC",
1610+ "dependencies": {
1611+ "normalize-path": "^3.0.0",
1612+ "picomatch": "^2.0.4"
1613+ },
1614+ "engines": {
1615+ "node": ">= 8"
1616+ }
1617+ },
1618+ "node_modules/argparse": {
1619+ "version": "1.0.10",
1620+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1621+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1622+ "license": "MIT",
1623+ "dependencies": {
1624+ "sprintf-js": "~1.0.2"
1625+ }
1626+ },
1627+ "node_modules/array-union": {
1628+ "version": "2.1.0",
1629+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
1630+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
1631+ "license": "MIT",
1632+ "engines": {
1633+ "node": ">=8"
1634+ }
1635+ },
1636+ "node_modules/ast-types": {
1637+ "version": "0.13.4",
1638+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
1639+ "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
1640+ "license": "MIT",
1641+ "peer": true,
1642+ "dependencies": {
1643+ "tslib": "^2.0.1"
1644+ },
1645+ "engines": {
1646+ "node": ">=4"
1647+ }
1648+ },
1649+ "node_modules/asynckit": {
1650+ "version": "0.4.0",
1651+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1652+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
1653+ "license": "MIT"
1654+ },
1655+ "node_modules/axios": {
1656+ "version": "1.7.2",
1657+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz",
1658+ "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==",
1659+ "license": "MIT",
1660+ "dependencies": {
1661+ "follow-redirects": "^1.15.6",
1662+ "form-data": "^4.0.0",
1663+ "proxy-from-env": "^1.1.0"
1664+ }
1665+ },
1666+ "node_modules/b4a": {
1667+ "version": "1.6.6",
1668+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz",
1669+ "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==",
1670+ "license": "Apache-2.0",
1671+ "peer": true
1672+ },
1673+ "node_modules/babel-jest": {
1674+ "version": "29.7.0",
1675+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
1676+ "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
1677+ "license": "MIT",
1678+ "dependencies": {
1679+ "@jest/transform": "^29.7.0",
1680+ "@types/babel__core": "^7.1.14",
1681+ "babel-plugin-istanbul": "^6.1.1",
1682+ "babel-preset-jest": "^29.6.3",
1683+ "chalk": "^4.0.0",
1684+ "graceful-fs": "^4.2.9",
1685+ "slash": "^3.0.0"
1686+ },
1687+ "engines": {
1688+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
1689+ },
1690+ "peerDependencies": {
1691+ "@babel/core": "^7.8.0"
1692+ }
1693+ },
1694+ "node_modules/babel-plugin-istanbul": {
1695+ "version": "6.1.1",
1696+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
1697+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
1698+ "license": "BSD-3-Clause",
1699+ "dependencies": {
1700+ "@babel/helper-plugin-utils": "^7.0.0",
1701+ "@istanbuljs/load-nyc-config": "^1.0.0",
1702+ "@istanbuljs/schema": "^0.1.2",
1703+ "istanbul-lib-instrument": "^5.0.4",
1704+ "test-exclude": "^6.0.0"
1705+ },
1706+ "engines": {
1707+ "node": ">=8"
1708+ }
1709+ },
1710+ "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
1711+ "version": "5.2.1",
1712+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
1713+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
1714+ "license": "BSD-3-Clause",
1715+ "dependencies": {
1716+ "@babel/core": "^7.12.3",
1717+ "@babel/parser": "^7.14.7",
1718+ "@istanbuljs/schema": "^0.1.2",
1719+ "istanbul-lib-coverage": "^3.2.0",
1720+ "semver": "^6.3.0"
1721+ },
1722+ "engines": {
1723+ "node": ">=8"
1724+ }
1725+ },
1726+ "node_modules/babel-plugin-jest-hoist": {
1727+ "version": "29.6.3",
tests/package.json+0 -0
tests/sample.test.js+0 -0
Diff truncated