cmpstr 3.0.3 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/CmpStr.esm.js +2487 -4948
- package/dist/CmpStr.esm.js.map +1 -1
- package/dist/CmpStr.esm.min.js +3 -3
- package/dist/CmpStr.esm.min.js.map +1 -1
- package/dist/CmpStr.umd.js +2601 -5040
- package/dist/CmpStr.umd.js.map +1 -1
- package/dist/CmpStr.umd.min.js +3 -3
- package/dist/CmpStr.umd.min.js.map +1 -1
- package/dist/cjs/CmpStr.cjs +41 -405
- package/dist/cjs/CmpStr.cjs.map +1 -1
- package/dist/cjs/CmpStrAsync.cjs +38 -221
- package/dist/cjs/CmpStrAsync.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/metric/Cosine.cjs +1 -56
- package/dist/cjs/metric/Cosine.cjs.map +1 -1
- package/dist/cjs/metric/DamerauLevenshtein.cjs +2 -64
- package/dist/cjs/metric/DamerauLevenshtein.cjs.map +1 -1
- package/dist/cjs/metric/DiceSorensen.cjs +1 -56
- package/dist/cjs/metric/DiceSorensen.cjs.map +1 -1
- package/dist/cjs/metric/Hamming.cjs +2 -51
- package/dist/cjs/metric/Hamming.cjs.map +1 -1
- package/dist/cjs/metric/Jaccard.cjs +1 -48
- package/dist/cjs/metric/Jaccard.cjs.map +1 -1
- package/dist/cjs/metric/JaroWinkler.cjs +1 -53
- package/dist/cjs/metric/JaroWinkler.cjs.map +1 -1
- package/dist/cjs/metric/LCS.cjs +1 -54
- package/dist/cjs/metric/LCS.cjs.map +1 -1
- package/dist/cjs/metric/Levenshtein.cjs +2 -60
- package/dist/cjs/metric/Levenshtein.cjs.map +1 -1
- package/dist/cjs/metric/Metric.cjs +1 -261
- package/dist/cjs/metric/Metric.cjs.map +1 -1
- package/dist/cjs/metric/NeedlemanWunsch.cjs +4 -56
- package/dist/cjs/metric/NeedlemanWunsch.cjs.map +1 -1
- package/dist/cjs/metric/SmithWaterman.cjs +4 -58
- package/dist/cjs/metric/SmithWaterman.cjs.map +1 -1
- package/dist/cjs/metric/qGram.cjs +1 -55
- package/dist/cjs/metric/qGram.cjs.map +1 -1
- package/dist/cjs/phonetic/Caverphone.cjs +1 -78
- package/dist/cjs/phonetic/Caverphone.cjs.map +1 -1
- package/dist/cjs/phonetic/Cologne.cjs +1 -43
- package/dist/cjs/phonetic/Cologne.cjs.map +1 -1
- package/dist/cjs/phonetic/Metaphone.cjs +1 -76
- package/dist/cjs/phonetic/Metaphone.cjs.map +1 -1
- package/dist/cjs/phonetic/Phonetic.cjs +1 -261
- package/dist/cjs/phonetic/Phonetic.cjs.map +1 -1
- package/dist/cjs/phonetic/Soundex.cjs +1 -47
- package/dist/cjs/phonetic/Soundex.cjs.map +1 -1
- package/dist/cjs/root.cjs +49 -0
- package/dist/cjs/root.cjs.map +1 -0
- package/dist/cjs/utils/DeepMerge.cjs +8 -75
- package/dist/cjs/utils/DeepMerge.cjs.map +1 -1
- package/dist/cjs/utils/DiffChecker.cjs +2 -190
- package/dist/cjs/utils/DiffChecker.cjs.map +1 -1
- package/dist/cjs/utils/Filter.cjs +1 -112
- package/dist/cjs/utils/Filter.cjs.map +1 -1
- package/dist/cjs/utils/HashTable.cjs +1 -99
- package/dist/cjs/utils/HashTable.cjs.map +1 -1
- package/dist/cjs/utils/Normalizer.cjs +3 -94
- package/dist/cjs/utils/Normalizer.cjs.map +1 -1
- package/dist/cjs/utils/Pool.cjs +10 -105
- package/dist/cjs/utils/Pool.cjs.map +1 -1
- package/dist/cjs/utils/Profiler.cjs +1 -133
- package/dist/cjs/utils/Profiler.cjs.map +1 -1
- package/dist/cjs/utils/Registry.cjs +1 -89
- package/dist/cjs/utils/Registry.cjs.map +1 -1
- package/dist/cjs/utils/StructuredData.cjs +145 -0
- package/dist/cjs/utils/StructuredData.cjs.map +1 -0
- package/dist/cjs/utils/TextAnalyzer.cjs +1 -180
- package/dist/cjs/utils/TextAnalyzer.cjs.map +1 -1
- package/dist/esm/CmpStr.mjs +41 -405
- package/dist/esm/CmpStr.mjs.map +1 -1
- package/dist/esm/CmpStrAsync.mjs +38 -221
- package/dist/esm/CmpStrAsync.mjs.map +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/metric/Cosine.mjs +1 -56
- package/dist/esm/metric/Cosine.mjs.map +1 -1
- package/dist/esm/metric/DamerauLevenshtein.mjs +2 -64
- package/dist/esm/metric/DamerauLevenshtein.mjs.map +1 -1
- package/dist/esm/metric/DiceSorensen.mjs +1 -56
- package/dist/esm/metric/DiceSorensen.mjs.map +1 -1
- package/dist/esm/metric/Hamming.mjs +2 -51
- package/dist/esm/metric/Hamming.mjs.map +1 -1
- package/dist/esm/metric/Jaccard.mjs +1 -48
- package/dist/esm/metric/Jaccard.mjs.map +1 -1
- package/dist/esm/metric/JaroWinkler.mjs +1 -53
- package/dist/esm/metric/JaroWinkler.mjs.map +1 -1
- package/dist/esm/metric/LCS.mjs +1 -54
- package/dist/esm/metric/LCS.mjs.map +1 -1
- package/dist/esm/metric/Levenshtein.mjs +2 -60
- package/dist/esm/metric/Levenshtein.mjs.map +1 -1
- package/dist/esm/metric/Metric.mjs +1 -261
- package/dist/esm/metric/Metric.mjs.map +1 -1
- package/dist/esm/metric/NeedlemanWunsch.mjs +4 -56
- package/dist/esm/metric/NeedlemanWunsch.mjs.map +1 -1
- package/dist/esm/metric/SmithWaterman.mjs +4 -58
- package/dist/esm/metric/SmithWaterman.mjs.map +1 -1
- package/dist/esm/metric/qGram.mjs +1 -55
- package/dist/esm/metric/qGram.mjs.map +1 -1
- package/dist/esm/phonetic/Caverphone.mjs +1 -78
- package/dist/esm/phonetic/Caverphone.mjs.map +1 -1
- package/dist/esm/phonetic/Cologne.mjs +1 -43
- package/dist/esm/phonetic/Cologne.mjs.map +1 -1
- package/dist/esm/phonetic/Metaphone.mjs +1 -76
- package/dist/esm/phonetic/Metaphone.mjs.map +1 -1
- package/dist/esm/phonetic/Phonetic.mjs +1 -261
- package/dist/esm/phonetic/Phonetic.mjs.map +1 -1
- package/dist/esm/phonetic/Soundex.mjs +1 -47
- package/dist/esm/phonetic/Soundex.mjs.map +1 -1
- package/dist/esm/root.mjs +35 -0
- package/dist/esm/root.mjs.map +1 -0
- package/dist/esm/utils/DeepMerge.mjs +8 -76
- package/dist/esm/utils/DeepMerge.mjs.map +1 -1
- package/dist/esm/utils/DiffChecker.mjs +2 -190
- package/dist/esm/utils/DiffChecker.mjs.map +1 -1
- package/dist/esm/utils/Filter.mjs +1 -112
- package/dist/esm/utils/Filter.mjs.map +1 -1
- package/dist/esm/utils/HashTable.mjs +1 -99
- package/dist/esm/utils/HashTable.mjs.map +1 -1
- package/dist/esm/utils/Normalizer.mjs +3 -94
- package/dist/esm/utils/Normalizer.mjs.map +1 -1
- package/dist/esm/utils/Pool.mjs +10 -105
- package/dist/esm/utils/Pool.mjs.map +1 -1
- package/dist/esm/utils/Profiler.mjs +1 -133
- package/dist/esm/utils/Profiler.mjs.map +1 -1
- package/dist/esm/utils/Registry.mjs +1 -89
- package/dist/esm/utils/Registry.mjs.map +1 -1
- package/dist/esm/utils/StructuredData.mjs +143 -0
- package/dist/esm/utils/StructuredData.mjs.map +1 -0
- package/dist/esm/utils/TextAnalyzer.mjs +1 -180
- package/dist/esm/utils/TextAnalyzer.mjs.map +1 -1
- package/dist/types/CmpStr.d.ts +90 -8
- package/dist/types/CmpStrAsync.d.ts +82 -8
- package/dist/types/index.d.ts +3 -2
- package/dist/types/root.d.ts +39 -0
- package/dist/types/utils/Pool.d.ts +2 -2
- package/dist/types/utils/StructuredData.d.ts +162 -0
- package/dist/types/utils/Types.d.ts +35 -1
- package/package.json +63 -22
|
@@ -1,97 +1,43 @@
|
|
|
1
|
-
// CmpStr v3.0
|
|
1
|
+
// CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var Metric = require('./Metric.cjs');
|
|
5
5
|
var Pool = require('../utils/Pool.cjs');
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Smith-Waterman Algorithm
|
|
9
|
-
* src/metric/SmithWaterman.ts
|
|
10
|
-
*
|
|
11
|
-
* @see https://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorithm
|
|
12
|
-
*
|
|
13
|
-
* The Smith-Waterman algorithm performs local alignment, finding the best matching
|
|
14
|
-
* subsequence between two strings. It is commonly used in bioinformatics for local
|
|
15
|
-
* sequence alignment. Instead of looking at the entire sequence, the Smith–Waterman
|
|
16
|
-
* algorithm compares segments of all possible lengths and optimizes the similarity
|
|
17
|
-
* measure.
|
|
18
|
-
*
|
|
19
|
-
* @module Metric/SmithWatermanDistance
|
|
20
|
-
* @author Paul Köhler (komed3)
|
|
21
|
-
* @license MIT
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* SmithWatermanDistance class extends the Metric class to implement the Smith-Waterman algorithm.
|
|
25
|
-
*/
|
|
26
7
|
class SmithWatermanDistance extends Metric.Metric {
|
|
27
|
-
/**
|
|
28
|
-
* Constructor for the SmithWaterman class.
|
|
29
|
-
*
|
|
30
|
-
* Initializes the Smith-Waterman metric with two input strings or
|
|
31
|
-
* arrays of strings and optional options.
|
|
32
|
-
*
|
|
33
|
-
* @param {MetricInput} a - First input string or array of strings
|
|
34
|
-
* @param {MetricInput} b - Second input string or array of strings
|
|
35
|
-
* @param {MetricOptions} [opt] - Options for the metric computation
|
|
36
|
-
*/
|
|
37
8
|
constructor(a, b, opt = {}) {
|
|
38
|
-
// Call the parent Metric constructor with the metric name and inputs
|
|
39
|
-
// Metric is symmetrical
|
|
40
9
|
super('smithWaterman', a, b, opt, true);
|
|
41
10
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Calculates the Smith-Waterman local alignment score between two strings.
|
|
44
|
-
*
|
|
45
|
-
* @param {string} a - First string
|
|
46
|
-
* @param {string} b - Second string
|
|
47
|
-
* @param {number} m - Length of the first string
|
|
48
|
-
* @param {number} n - Length of the second string
|
|
49
|
-
* @return {MetricCompute<SmithWatermanRaw>} - Object containing the similarity result and raw score
|
|
50
|
-
*/
|
|
51
11
|
compute(a, b, m, n) {
|
|
52
|
-
// Scoring parameters (can be customized via options if needed)
|
|
53
12
|
const { match = 2, mismatch = -1, gap = -2 } = this.options;
|
|
54
|
-
// Get two reusable arrays from the Pool for the DP rows
|
|
55
13
|
const len = m + 1;
|
|
56
14
|
const [prev, curr] = Pool.Pool.acquireMany('uint16', [len, len]);
|
|
57
|
-
// Initialize the first row to zeros (Smith-Waterman local alignment)
|
|
58
15
|
for (let i = 0; i <= m; i++) prev[i] = 0;
|
|
59
16
|
let maxScore = 0;
|
|
60
|
-
// Fill the DP matrix row by row (over the longer string)
|
|
61
17
|
for (let j = 1; j <= n; j++) {
|
|
62
|
-
// First column always zero
|
|
63
18
|
curr[0] = 0;
|
|
64
|
-
// Get the character code of the current character in b
|
|
65
19
|
const cb = b.charCodeAt(j - 1);
|
|
66
20
|
for (let i = 1; i <= m; i++) {
|
|
67
|
-
// Score for match / mismatch
|
|
68
21
|
const score = a.charCodeAt(i - 1) === cb ? match : mismatch;
|
|
69
|
-
// Calculate the maximum score for current cell
|
|
70
22
|
curr[i] = Math.max(
|
|
71
23
|
0,
|
|
72
|
-
prev[i - 1] + score,
|
|
73
|
-
prev[i] + gap,
|
|
74
|
-
curr[i - 1] + gap
|
|
24
|
+
prev[i - 1] + score,
|
|
25
|
+
prev[i] + gap,
|
|
26
|
+
curr[i - 1] + gap
|
|
75
27
|
);
|
|
76
|
-
// Track the maximum score in the matrix
|
|
77
28
|
if (curr[i] > maxScore) maxScore = curr[i];
|
|
78
29
|
}
|
|
79
|
-
// Copy current row to previous for next iteration
|
|
80
30
|
prev.set(curr);
|
|
81
31
|
}
|
|
82
|
-
// Release arrays back to the pool
|
|
83
32
|
Pool.Pool.release('uint16', prev, len);
|
|
84
33
|
Pool.Pool.release('uint16', curr, len);
|
|
85
|
-
// Use the maximum possible score for the shorter string (local alignment)
|
|
86
34
|
const denum = Math.min(m * match, n * match);
|
|
87
|
-
// Return the result as a MetricCompute object
|
|
88
35
|
return {
|
|
89
36
|
res: denum === 0 ? 0 : Metric.Metric.clamp(maxScore / denum),
|
|
90
37
|
raw: { score: maxScore, denum }
|
|
91
38
|
};
|
|
92
39
|
}
|
|
93
40
|
}
|
|
94
|
-
// Register the Smith-Waterman algorithm in the metric registry
|
|
95
41
|
Metric.MetricRegistry.add('smithWaterman', SmithWatermanDistance);
|
|
96
42
|
|
|
97
43
|
exports.SmithWatermanDistance = SmithWatermanDistance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmithWaterman.cjs","sources":["../../../src/metric/SmithWaterman.ts"],"sourcesContent":[null],"names":["Metric","Pool","MetricRegistry"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"SmithWaterman.cjs","sources":["../../../src/metric/SmithWaterman.ts"],"sourcesContent":[null],"names":["Metric","Pool","MetricRegistry"],"mappings":"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"}
|
|
@@ -1,90 +1,36 @@
|
|
|
1
|
-
// CmpStr v3.0
|
|
1
|
+
// CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var Metric = require('./Metric.cjs');
|
|
5
5
|
var Pool = require('../utils/Pool.cjs');
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* q-Gram Similarity
|
|
9
|
-
* src/metric/QGram.ts
|
|
10
|
-
*
|
|
11
|
-
* @see https://en.wikipedia.org/wiki/Q-gram
|
|
12
|
-
*
|
|
13
|
-
* Q-gram similarity is a string-matching algorithm that compares two strings by
|
|
14
|
-
* breaking them into substrings (q-grams) of length Q. The similarity is computed
|
|
15
|
-
* as the size of the intersection of q-gram sets divided by the size of the larger
|
|
16
|
-
* set.
|
|
17
|
-
*
|
|
18
|
-
* This metric is widely used in approximate string matching, information retrieval,
|
|
19
|
-
* and computational linguistics.
|
|
20
|
-
*
|
|
21
|
-
* @module Metric/QGramSimilarity
|
|
22
|
-
* @author Paul Köhler (komed3)
|
|
23
|
-
* @license MIT
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* QGramSimilarity class extends the Metric class to implement the q-Gram similarity algorithm.
|
|
27
|
-
*/
|
|
28
7
|
class QGramSimilarity extends Metric.Metric {
|
|
29
|
-
/**
|
|
30
|
-
* Constructor for the QGramSimilarity class.
|
|
31
|
-
*
|
|
32
|
-
* Initializes the q-Gram similarity metric with two input strings or
|
|
33
|
-
* arrays of strings and optional options.
|
|
34
|
-
*
|
|
35
|
-
* @param {MetricInput} a - First input string or array of strings
|
|
36
|
-
* @param {MetricInput} b - Second input string or array of strings
|
|
37
|
-
* @param {MetricOptions} [opt] - Options for the metric computation
|
|
38
|
-
*/
|
|
39
8
|
constructor(a, b, opt = {}) {
|
|
40
|
-
// Call the parent Metric constructor with the metric name and inputs
|
|
41
|
-
// Metric is symmetrical
|
|
42
9
|
super('qgram', a, b, opt, true);
|
|
43
10
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Converts a string into a set of q-grams (substrings of length q).
|
|
46
|
-
*
|
|
47
|
-
* @param {string} str - The input string
|
|
48
|
-
* @param {number} q - The length of each q-gram
|
|
49
|
-
* @return {Set<string>} - Set of q-grams
|
|
50
|
-
*/
|
|
51
11
|
_qGrams(str, q) {
|
|
52
12
|
const len = Math.max(0, str.length - q + 1);
|
|
53
13
|
const grams = Pool.Pool.acquire('set', len);
|
|
54
14
|
for (let i = 0; i < len; i++) grams.add(str.slice(i, i + q));
|
|
55
15
|
return grams;
|
|
56
16
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Calculates the q-Gram similarity between two strings.
|
|
59
|
-
*
|
|
60
|
-
* @param {string} a - First string
|
|
61
|
-
* @param {string} b - Second string
|
|
62
|
-
* @return {MetricCompute<QGramRaw>} - Object containing the similarity result and raw values
|
|
63
|
-
*/
|
|
64
17
|
compute(a, b) {
|
|
65
|
-
// Get q from options or use default "2"
|
|
66
18
|
const { q = 2 } = this.options;
|
|
67
|
-
// Generate q-gram sets for both strings
|
|
68
19
|
const setA = this._qGrams(a, q);
|
|
69
20
|
const setB = this._qGrams(b, q);
|
|
70
|
-
// Calculate intersection size
|
|
71
21
|
let intersection = 0;
|
|
72
22
|
for (const gram of setA) if (setB.has(gram)) intersection++;
|
|
73
|
-
// Calculate the size of the larger set
|
|
74
23
|
const sizeA = setA.size,
|
|
75
24
|
sizeB = setB.size;
|
|
76
25
|
const size = Math.max(sizeA, sizeB);
|
|
77
|
-
// Release sets back to the pool
|
|
78
26
|
Pool.Pool.release('set', setA, sizeA);
|
|
79
27
|
Pool.Pool.release('set', setB, sizeB);
|
|
80
|
-
// Return the result as a MetricCompute object
|
|
81
28
|
return {
|
|
82
29
|
res: size === 0 ? 1 : Metric.Metric.clamp(intersection / size),
|
|
83
30
|
raw: { intersection, size }
|
|
84
31
|
};
|
|
85
32
|
}
|
|
86
33
|
}
|
|
87
|
-
// Register the q-Gram similariry in the metric registry
|
|
88
34
|
Metric.MetricRegistry.add('qGram', QGramSimilarity);
|
|
89
35
|
|
|
90
36
|
exports.QGramSimilarity = QGramSimilarity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qGram.cjs","sources":["../../../src/metric/qGram.ts"],"sourcesContent":[null],"names":["Metric","Pool","MetricRegistry"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"qGram.cjs","sources":["../../../src/metric/qGram.ts"],"sourcesContent":[null],"names":["Metric","Pool","MetricRegistry"],"mappings":"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"}
|
|
@@ -1,31 +1,9 @@
|
|
|
1
|
-
// CmpStr v3.0
|
|
1
|
+
// CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var Phonetic = require('./Phonetic.cjs');
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Caverphone Phonetic Algorithm
|
|
8
|
-
* src/phonetic/Caverphone.ts
|
|
9
|
-
*
|
|
10
|
-
* @see https://en.wikipedia.org/wiki/Caverphone
|
|
11
|
-
*
|
|
12
|
-
* This module implements the Caverphone phonetic algorithm, which is designed
|
|
13
|
-
* to encode words into a phonetic representation. The Caverphone algorithm is
|
|
14
|
-
* used primarily in New Zealand and was developed to assist in the indexing of
|
|
15
|
-
* names in genealogical databases.
|
|
16
|
-
*
|
|
17
|
-
* It converts words into a standardized phonetic code, allowing for variations
|
|
18
|
-
* in spelling and pronunciation to be matched.
|
|
19
|
-
*
|
|
20
|
-
* @module Phonetic/Caverphone
|
|
21
|
-
* @author Paul Köhler (komed3)
|
|
22
|
-
* @license MIT
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Caverphone class extends the Phonetic class to implement the Caverphone phonetic algorithm.
|
|
26
|
-
*/
|
|
27
6
|
class Caverphone extends Phonetic.Phonetic {
|
|
28
|
-
// Default options for the Caverphone phonetic algorithm
|
|
29
7
|
static default = {
|
|
30
8
|
map: 'en2',
|
|
31
9
|
delimiter: ' ',
|
|
@@ -33,60 +11,28 @@ class Caverphone extends Phonetic.Phonetic {
|
|
|
33
11
|
pad: '',
|
|
34
12
|
dedupe: false
|
|
35
13
|
};
|
|
36
|
-
/**
|
|
37
|
-
* Constructor for the Caverphone class.
|
|
38
|
-
*
|
|
39
|
-
* Initializes the Caverphone phonetic algorithm with the mapping and options.
|
|
40
|
-
*
|
|
41
|
-
* @param {PhoneticOptions} [opt] - Options for the Caverphone phonetic algorithm
|
|
42
|
-
*/
|
|
43
14
|
constructor(opt = {}) {
|
|
44
15
|
super('caverphone', opt);
|
|
45
16
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Generates the Caverphone code for a given word.
|
|
48
|
-
*
|
|
49
|
-
* @param {string} word - The input word to be converted into a Caverphone code
|
|
50
|
-
* @returns {string} - The generated Caverphone code
|
|
51
|
-
*/
|
|
52
17
|
encode(word) {
|
|
53
|
-
// Remove anything not A-Z and convert to lowercase
|
|
54
18
|
word = word.replace(/[^A-Z]/gi, '').toLowerCase();
|
|
55
|
-
// Use the base implementation for rule/mapping application
|
|
56
19
|
return super.encode(word);
|
|
57
20
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Overrides the mapChar method to skip character mapping.
|
|
60
|
-
*
|
|
61
|
-
* @param {string} char - The character to be mapped
|
|
62
|
-
* @returns {string} - The mapped character
|
|
63
|
-
*/
|
|
64
21
|
mapChar(char) {
|
|
65
22
|
return char;
|
|
66
23
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Adjusts the phonetic code to uppercase.
|
|
69
|
-
*
|
|
70
|
-
* @param {string} code - The phonetic code to adjust
|
|
71
|
-
* @returns {string} - The adjusted phonetic code
|
|
72
|
-
*/
|
|
73
24
|
adjustCode(code) {
|
|
74
25
|
return code.toUpperCase();
|
|
75
26
|
}
|
|
76
27
|
}
|
|
77
|
-
// Register the Caverphone algorithm in the phonetic registry
|
|
78
28
|
Phonetic.PhoneticRegistry.add('caverphone', Caverphone);
|
|
79
|
-
// Register the Caverphone 1.0 phonetic mapping for English
|
|
80
29
|
Phonetic.PhoneticMappingRegistry.add('caverphone', 'en1', {
|
|
81
30
|
options: { length: 6, pad: '1' },
|
|
82
31
|
map: {},
|
|
83
32
|
patterns: [
|
|
84
|
-
// Special word-initial replacements
|
|
85
33
|
{ pattern: /^(c|r|t|en)ough/, replace: '$1ou2f' },
|
|
86
34
|
{ pattern: /^gn/, replace: '2n' },
|
|
87
|
-
// Special word-final replacement
|
|
88
35
|
{ pattern: /mb$/, replace: 'm2' },
|
|
89
|
-
// Character group replacements
|
|
90
36
|
{ pattern: /cq/g, replace: '2q' },
|
|
91
37
|
{ pattern: /c(e|i|y)/g, replace: 's$1' },
|
|
92
38
|
{ pattern: /tch/g, replace: '2ch' },
|
|
@@ -99,15 +45,11 @@ Phonetic.PhoneticMappingRegistry.add('caverphone', 'en1', {
|
|
|
99
45
|
{ pattern: /b/g, replace: 'p' },
|
|
100
46
|
{ pattern: /sh/g, replace: 's2' },
|
|
101
47
|
{ pattern: /z/g, replace: 's' },
|
|
102
|
-
// Vowel handling
|
|
103
48
|
{ pattern: /^[aeiou]/, replace: 'A' },
|
|
104
49
|
{ pattern: /[aeiou]/g, replace: '3' },
|
|
105
|
-
// Special gh handling
|
|
106
50
|
{ pattern: /3gh3/g, replace: '3kh3' },
|
|
107
51
|
{ pattern: /gh/g, replace: '22' },
|
|
108
|
-
// Single character replacements
|
|
109
52
|
{ pattern: /g/g, replace: 'k' },
|
|
110
|
-
// Collapse repeated consonants
|
|
111
53
|
{ pattern: /s+/g, replace: 'S' },
|
|
112
54
|
{ pattern: /t+/g, replace: 'T' },
|
|
113
55
|
{ pattern: /p+/g, replace: 'P' },
|
|
@@ -115,39 +57,28 @@ Phonetic.PhoneticMappingRegistry.add('caverphone', 'en1', {
|
|
|
115
57
|
{ pattern: /f+/g, replace: 'F' },
|
|
116
58
|
{ pattern: /m+/g, replace: 'M' },
|
|
117
59
|
{ pattern: /n+/g, replace: 'N' },
|
|
118
|
-
// Y and other single-letter handling
|
|
119
60
|
{ pattern: /j/g, replace: 'y' },
|
|
120
|
-
// L/R/W/Y3 handling
|
|
121
61
|
{ pattern: /l3/g, replace: 'L3' },
|
|
122
62
|
{ pattern: /r3/g, replace: 'R3' },
|
|
123
63
|
{ pattern: /w3/g, replace: 'W3' },
|
|
124
64
|
{ pattern: /y3/g, replace: 'Y3' },
|
|
125
|
-
// L/R/W followed by y
|
|
126
65
|
{ pattern: /ly/g, replace: 'Ly' },
|
|
127
66
|
{ pattern: /ry/g, replace: 'Ry' },
|
|
128
67
|
{ pattern: /wy/g, replace: 'Wy' },
|
|
129
|
-
// WH handling
|
|
130
68
|
{ pattern: /wh3/g, replace: 'Wh3' },
|
|
131
69
|
{ pattern: /why/g, replace: 'Why' },
|
|
132
|
-
// H at start
|
|
133
70
|
{ pattern: /^h/, replace: 'A' },
|
|
134
|
-
// Remove certain letters
|
|
135
71
|
{ pattern: /[hlrwy23]/g, replace: '' }
|
|
136
72
|
]
|
|
137
73
|
});
|
|
138
|
-
// Register the Caverphone 2.0 phonetic mapping for English
|
|
139
74
|
Phonetic.PhoneticMappingRegistry.add('caverphone', 'en2', {
|
|
140
75
|
options: { length: 10, pad: '1' },
|
|
141
76
|
map: {},
|
|
142
77
|
patterns: [
|
|
143
|
-
// Remove trailing 'e'
|
|
144
78
|
{ pattern: /e$/, replace: '' },
|
|
145
|
-
// Special word-initial replacements
|
|
146
79
|
{ pattern: /^(c|r|t|en|tr)ough/, replace: '$1ou2f' },
|
|
147
80
|
{ pattern: /^gn/, replace: '2n' },
|
|
148
|
-
// Special word-final replacement
|
|
149
81
|
{ pattern: /mb$/, replace: 'm2' },
|
|
150
|
-
// Character group replacements
|
|
151
82
|
{ pattern: /cq/g, replace: '2q' },
|
|
152
83
|
{ pattern: /c(e|i|y)/g, replace: 's$1' },
|
|
153
84
|
{ pattern: /tch/g, replace: '2ch' },
|
|
@@ -160,20 +91,15 @@ Phonetic.PhoneticMappingRegistry.add('caverphone', 'en2', {
|
|
|
160
91
|
{ pattern: /b/g, replace: 'p' },
|
|
161
92
|
{ pattern: /sh/g, replace: 's2' },
|
|
162
93
|
{ pattern: /z/g, replace: 's' },
|
|
163
|
-
// Vowel handling
|
|
164
94
|
{ pattern: /^[aeiou]/, replace: 'A' },
|
|
165
95
|
{ pattern: /[aeiou]/g, replace: '3' },
|
|
166
|
-
// Y handling
|
|
167
96
|
{ pattern: /j/g, replace: 'y' },
|
|
168
97
|
{ pattern: /^y3/, replace: 'Y3' },
|
|
169
98
|
{ pattern: /^y/, replace: 'A' },
|
|
170
99
|
{ pattern: /y/g, replace: '3' },
|
|
171
|
-
// Special gh handling
|
|
172
100
|
{ pattern: /3gh3/g, replace: '3kh3' },
|
|
173
101
|
{ pattern: /gh/g, replace: '22' },
|
|
174
|
-
// Single character replacements
|
|
175
102
|
{ pattern: /g/g, replace: 'k' },
|
|
176
|
-
// Collapse repeated consonants
|
|
177
103
|
{ pattern: /s+/g, replace: 'S' },
|
|
178
104
|
{ pattern: /t+/g, replace: 'T' },
|
|
179
105
|
{ pattern: /p+/g, replace: 'P' },
|
|
@@ -181,16 +107,13 @@ Phonetic.PhoneticMappingRegistry.add('caverphone', 'en2', {
|
|
|
181
107
|
{ pattern: /f+/g, replace: 'F' },
|
|
182
108
|
{ pattern: /m+/g, replace: 'M' },
|
|
183
109
|
{ pattern: /n+/g, replace: 'N' },
|
|
184
|
-
// L/R/W3 handling
|
|
185
110
|
{ pattern: /l3/g, replace: 'L3' },
|
|
186
111
|
{ pattern: /r3/g, replace: 'R3' },
|
|
187
112
|
{ pattern: /w3/g, replace: 'W3' },
|
|
188
113
|
{ pattern: /wh3/g, replace: 'Wh3' },
|
|
189
114
|
{ pattern: /[lrw]$/, replace: '3' },
|
|
190
|
-
// // H at start and final 3 handling
|
|
191
115
|
{ pattern: /^h/, replace: 'A' },
|
|
192
116
|
{ pattern: /3$/, replace: 'A' },
|
|
193
|
-
// Remove certain letters
|
|
194
117
|
{ pattern: /[hlrw23]/g, replace: '' }
|
|
195
118
|
]
|
|
196
119
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Caverphone.cjs","sources":["../../../src/phonetic/Caverphone.ts"],"sourcesContent":[null],"names":["Phonetic","PhoneticRegistry","PhoneticMappingRegistry"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Caverphone.cjs","sources":["../../../src/phonetic/Caverphone.ts"],"sourcesContent":[null],"names":["Phonetic","PhoneticRegistry","PhoneticMappingRegistry"],"mappings":"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"}
|
|
@@ -1,60 +1,18 @@
|
|
|
1
|
-
// CmpStr v3.0
|
|
1
|
+
// CmpStr v3.1.0 build-76aadb9-260117 by Paul Köhler @komed3 / MIT License
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var Phonetic = require('./Phonetic.cjs');
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Cologne Phonetic Algorithm
|
|
8
|
-
* src/phonetic/Cologne.ts
|
|
9
|
-
*
|
|
10
|
-
* @see https://en.wikipedia.org/wiki/Cologne_phonetics
|
|
11
|
-
*
|
|
12
|
-
* Cologne phonetics, also known as `Kölner Phonetik` or the `Cologne process`,
|
|
13
|
-
* is a phonetic algorithm that assigns a sequence of digits, referred to as the
|
|
14
|
-
* phonetic code, to words. The purpose of this method is to ensure that words
|
|
15
|
-
* with identical sounds receive the same code. This algorithm can facilitate a
|
|
16
|
-
* similarity search among words.
|
|
17
|
-
*
|
|
18
|
-
* Cologne phonetics is associated with the well-known Soundex phonetic algorithm,
|
|
19
|
-
* yet it is specifically optimized for the German language. This algorithm was
|
|
20
|
-
* introduced by Hans Joachim Postel in 1969.
|
|
21
|
-
*
|
|
22
|
-
* The Cologne phonetic algorithm works by mapping letters to digits, ignoring
|
|
23
|
-
* certain letters, and applying specific rules to handle character combinations.
|
|
24
|
-
*
|
|
25
|
-
* @module Phonetic/Cologne
|
|
26
|
-
* @author Paul Köhler (komed3)
|
|
27
|
-
* @license MIT
|
|
28
|
-
*/
|
|
29
|
-
/**
|
|
30
|
-
* Cologne class extends the Phonetic class to implement the Cologne phonetic algorithm.
|
|
31
|
-
*/
|
|
32
6
|
class Cologne extends Phonetic.Phonetic {
|
|
33
|
-
// Default options for the Cologne phonetic algorithm
|
|
34
7
|
static default = { map: 'default', delimiter: ' ', length: -1, dedupe: true };
|
|
35
|
-
/**
|
|
36
|
-
* Constructor for the Cologne class.
|
|
37
|
-
*
|
|
38
|
-
* Initializes the Cologne phonetic algorithm with the mapping and options.
|
|
39
|
-
*
|
|
40
|
-
* @param {PhoneticOptions} [opt] - Options for the Cologne phonetic algorithm
|
|
41
|
-
*/
|
|
42
8
|
constructor(opt = {}) {
|
|
43
9
|
super('cologne', opt);
|
|
44
10
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Adjusts the phonetic code by removing all '0's except the first character.
|
|
47
|
-
*
|
|
48
|
-
* @param {string} code - The phonetic code to adjust
|
|
49
|
-
* @returns {string} - The adjusted phonetic code
|
|
50
|
-
*/
|
|
51
11
|
adjustCode(code) {
|
|
52
12
|
return code.slice(0, 1) + code.slice(1).replaceAll('0', '');
|
|
53
13
|
}
|
|
54
14
|
}
|
|
55
|
-
// Register the Cologne algorithm in the phonetic registry
|
|
56
15
|
Phonetic.PhoneticRegistry.add('cologne', Cologne);
|
|
57
|
-
// Register the Cologne phonetic mapping
|
|
58
16
|
Phonetic.PhoneticMappingRegistry.add('cologne', 'default', {
|
|
59
17
|
map: {
|
|
60
18
|
a: '0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cologne.cjs","sources":["../../../src/phonetic/Cologne.ts"],"sourcesContent":[null],"names":["Phonetic","PhoneticRegistry","PhoneticMappingRegistry"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Cologne.cjs","sources":["../../../src/phonetic/Cologne.ts"],"sourcesContent":[null],"names":["Phonetic","PhoneticRegistry","PhoneticMappingRegistry"],"mappings":";;;;;AAgCM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAQ,CAAA;EAGvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,OAAO,CAAA,CAAA,CAAoB,CACjD,CAAA,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAA,CAAE,CAAA,CAAE,MAAM,CAAA,CAAE,CAAA,CAAA,CAAA,GACvD;EASD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,EAAE,CAAA,CAAA;AAAA,IAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,CAAA,CAAA,CAAG,CAAE;AAAA,EAAC;AAQlD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAG,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA;IAExC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAC,CAAA,CAAE,CAAC,CAAE,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAC,CAAE,CAAC,UAAU,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAE,CAAE;EAErE;;AAKJC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAgB,CAAC,CAAA,CAAA,CAAG,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,OAAO,CAAE;AAG1CC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB,CAAC,CAAA,CAAA,CAAG,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAE,SAAS,CAAA,CAAE;AAC/C,CAAA,CAAA,GAAG,CAAA,CAAE;AACD,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAC9E,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAC9E,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,EAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,GAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAG;AAAA,IAAE,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA;AACtE,CAAA,CAAA,CAAA;EACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAE,CAAE,CAAA,CAAA,CAAG,CAAE;AACf,CAAA,CAAA,OAAO,CAAA,CAAE;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAE,CAAA,CAAA,CAAG,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE;AACvC,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG;MAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO;AAAA,MAAE,IAAI,CAAA,CAAE,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAE;AAAA,MAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AAAG,IAAA,CAAE;AAClG,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG;MAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAE;AAAA,MAAE,OAAO,CAAA,CAAE,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAE;AAAA,MAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE;AACvF,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAE,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE;AACjD,CAAA,CAAA,CAAA,CAAA,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAG,EAAE,CAAA,CAAA,CAAG,CAAE,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,GAAG,CAAA,CAAE;AACjD,CAAA,CAAA,CAAA,CAAA,EAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,IAAI,CAAA,CAAE,CAAE,CAAA,CAAA,CAAG,CAAA,CAAE,GAAG,CAAA,CAAE,CAAA,CAAA,CAAG,CAAE,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,EAAE,CAAA,CAAA,CAAG,CAAA;AAClD,CAAA,CAAA;AACJ,CAAA,CAAE;;;"}
|