@ottolab/extraction 0.1.0 → 0.1.1
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/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/lab-detector.d.ts +12 -0
- package/dist/lab-detector.d.ts.map +1 -0
- package/dist/lab-detector.js +42 -0
- package/dist/lab-detector.js.map +1 -0
- package/dist/llm-extractor.d.ts +18 -0
- package/dist/llm-extractor.d.ts.map +1 -0
- package/dist/llm-extractor.js +133 -0
- package/dist/llm-extractor.js.map +1 -0
- package/dist/prompts/base.d.ts +12 -0
- package/dist/prompts/base.d.ts.map +1 -0
- package/{src/prompts/base.ts → dist/prompts/base.js} +1 -1
- package/dist/prompts/base.js.map +1 -0
- package/dist/prompts/labcorp.d.ts +12 -0
- package/dist/prompts/labcorp.d.ts.map +1 -0
- package/{src/prompts/labcorp.ts → dist/prompts/labcorp.js} +1 -0
- package/dist/prompts/labcorp.js.map +1 -0
- package/dist/prompts/quest.d.ts +11 -0
- package/dist/prompts/quest.d.ts.map +1 -0
- package/{src/prompts/quest.ts → dist/prompts/quest.js} +1 -0
- package/dist/prompts/quest.js.map +1 -0
- package/dist/validator.d.ts +39 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +191 -0
- package/dist/validator.js.map +1 -0
- package/package.json +8 -2
- package/__tests__/llm-extractor.test.ts +0 -73
- package/__tests__/validator.test.ts +0 -243
- package/src/index.ts +0 -69
- package/src/lab-detector.ts +0 -60
- package/src/llm-extractor.ts +0 -157
- package/src/validator.ts +0 -218
- package/tsconfig.json +0 -10
- package/tsconfig.tsbuildinfo +0 -1
package/src/llm-extractor.ts
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import type { SourceLab, ExtendedLLMProvider } from '@ottolab/shared';
|
|
2
|
-
import { BASE_EXTRACTION_PROMPT } from './prompts/base.js';
|
|
3
|
-
import { QUEST_EXTRACTION_PROMPT } from './prompts/quest.js';
|
|
4
|
-
import { LABCORP_EXTRACTION_PROMPT } from './prompts/labcorp.js';
|
|
5
|
-
|
|
6
|
-
/** Raw extraction output — flat key/value from LLM. */
|
|
7
|
-
export type RawBiomarkers = Record<string, number | string | null>;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Select the appropriate extraction prompt based on detected lab.
|
|
11
|
-
*/
|
|
12
|
-
function getPromptForLab(lab: SourceLab): string {
|
|
13
|
-
switch (lab) {
|
|
14
|
-
case 'quest':
|
|
15
|
-
return QUEST_EXTRACTION_PROMPT;
|
|
16
|
-
case 'labcorp':
|
|
17
|
-
return LABCORP_EXTRACTION_PROMPT;
|
|
18
|
-
default:
|
|
19
|
-
return BASE_EXTRACTION_PROMPT;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Extract biomarkers from a PDF using multimodal LLM.
|
|
25
|
-
*
|
|
26
|
-
* Sends the full PDF as base64 inline data with a lab-specific prompt.
|
|
27
|
-
* Returns raw key/value pairs (not yet validated or normalized).
|
|
28
|
-
*/
|
|
29
|
-
export async function extractFromPdf(
|
|
30
|
-
pdfBase64: string,
|
|
31
|
-
lab: SourceLab,
|
|
32
|
-
provider: ExtendedLLMProvider,
|
|
33
|
-
): Promise<RawBiomarkers> {
|
|
34
|
-
const prompt = getPromptForLab(lab);
|
|
35
|
-
|
|
36
|
-
const response = await provider.chatMultimodal(
|
|
37
|
-
[
|
|
38
|
-
{ type: 'document', data: pdfBase64, mimeType: 'application/pdf' },
|
|
39
|
-
{ type: 'text', text: prompt },
|
|
40
|
-
],
|
|
41
|
-
{ temperature: 0, maxTokens: 4096, responseFormat: 'json' },
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
return parseExtractionResponse(response);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Extract biomarkers from CSV text.
|
|
49
|
-
*
|
|
50
|
-
* Expects a simple CSV with header row containing biomarker names
|
|
51
|
-
* and a single data row with values.
|
|
52
|
-
*/
|
|
53
|
-
export function extractFromCsv(csvText: string): RawBiomarkers {
|
|
54
|
-
const lines = csvText.trim().split('\n');
|
|
55
|
-
if (lines.length < 2) {
|
|
56
|
-
throw new Error('CSV must have at least a header row and a data row');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const headers = lines[0].split(',').map((h) => h.trim().toLowerCase());
|
|
60
|
-
const values = lines[1].split(',').map((v) => v.trim());
|
|
61
|
-
|
|
62
|
-
const result: RawBiomarkers = {};
|
|
63
|
-
for (let i = 0; i < headers.length; i++) {
|
|
64
|
-
const key = normalizeHeaderName(headers[i]);
|
|
65
|
-
const raw = values[i];
|
|
66
|
-
if (!key || !raw || raw === '') continue;
|
|
67
|
-
|
|
68
|
-
const num = parseFloat(raw);
|
|
69
|
-
result[key] = Number.isNaN(num) ? raw : num;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return result;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Normalize CSV header names to our canonical biomarker keys.
|
|
77
|
-
*/
|
|
78
|
-
function normalizeHeaderName(header: string): string {
|
|
79
|
-
const mappings: Record<string, string> = {
|
|
80
|
-
'total cholesterol': 'total_cholesterol',
|
|
81
|
-
cholesterol: 'total_cholesterol',
|
|
82
|
-
'ldl-c': 'ldl_c',
|
|
83
|
-
ldl: 'ldl_c',
|
|
84
|
-
'hdl-c': 'hdl',
|
|
85
|
-
hdl: 'hdl',
|
|
86
|
-
triglycerides: 'triglycerides',
|
|
87
|
-
tg: 'triglycerides',
|
|
88
|
-
hba1c: 'hba1c',
|
|
89
|
-
a1c: 'hba1c',
|
|
90
|
-
glucose: 'fasting_glucose',
|
|
91
|
-
'fasting glucose': 'fasting_glucose',
|
|
92
|
-
insulin: 'fasting_insulin',
|
|
93
|
-
'fasting insulin': 'fasting_insulin',
|
|
94
|
-
'uric acid': 'uric_acid',
|
|
95
|
-
creatinine: 'creatinine',
|
|
96
|
-
bun: 'bun',
|
|
97
|
-
egfr: 'egfr',
|
|
98
|
-
alt: 'alt',
|
|
99
|
-
sgpt: 'alt',
|
|
100
|
-
ast: 'ast',
|
|
101
|
-
sgot: 'ast',
|
|
102
|
-
alp: 'alp',
|
|
103
|
-
ggt: 'ggt',
|
|
104
|
-
bilirubin: 'bilirubin_total',
|
|
105
|
-
albumin: 'albumin',
|
|
106
|
-
'hs-crp': 'hs_crp',
|
|
107
|
-
crp: 'hs_crp',
|
|
108
|
-
esr: 'esr',
|
|
109
|
-
cortisol: 'cortisol',
|
|
110
|
-
testosterone: 'testosterone',
|
|
111
|
-
estradiol: 'estradiol',
|
|
112
|
-
tsh: 'tsh',
|
|
113
|
-
wbc: 'wbc',
|
|
114
|
-
rbc: 'rbc',
|
|
115
|
-
hemoglobin: 'hemoglobin',
|
|
116
|
-
hgb: 'hemoglobin',
|
|
117
|
-
hematocrit: 'hematocrit',
|
|
118
|
-
hct: 'hematocrit',
|
|
119
|
-
platelets: 'platelets',
|
|
120
|
-
plt: 'platelets',
|
|
121
|
-
mcv: 'mcv',
|
|
122
|
-
rdw: 'rdw',
|
|
123
|
-
'lymphocyte %': 'lymphocyte_percent',
|
|
124
|
-
lymphocytes: 'lymphocyte_percent',
|
|
125
|
-
'vitamin d': 'vitamin_d',
|
|
126
|
-
'25-oh vitamin d': 'vitamin_d',
|
|
127
|
-
weight: 'weight_kg',
|
|
128
|
-
height: 'height_cm',
|
|
129
|
-
bmi: 'bmi',
|
|
130
|
-
'body fat': 'body_fat_percent',
|
|
131
|
-
'systolic bp': 'systolic_bp',
|
|
132
|
-
'diastolic bp': 'diastolic_bp',
|
|
133
|
-
'heart rate': 'heart_rate',
|
|
134
|
-
apob: 'apoB',
|
|
135
|
-
'apo b': 'apoB',
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
return mappings[header] ?? header.replace(/[\s-]+/g, '_').toLowerCase();
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
function parseExtractionResponse(text: string): RawBiomarkers {
|
|
142
|
-
let cleaned = text.trim();
|
|
143
|
-
|
|
144
|
-
// Strip markdown code fences
|
|
145
|
-
if (cleaned.startsWith('```')) {
|
|
146
|
-
cleaned = cleaned.replace(/^```(?:json)?\s*/, '').replace(/\s*```$/, '');
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// Find JSON object
|
|
150
|
-
const start = cleaned.indexOf('{');
|
|
151
|
-
const end = cleaned.lastIndexOf('}');
|
|
152
|
-
if (start === -1 || end === -1) {
|
|
153
|
-
throw new Error('No JSON object found in LLM extraction response');
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
return JSON.parse(cleaned.slice(start, end + 1)) as RawBiomarkers;
|
|
157
|
-
}
|
package/src/validator.ts
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import type { BiomarkerValue, BiomarkerSet } from '@ottolab/shared';
|
|
2
|
-
import type { RawBiomarkers } from './llm-extractor.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Clinical ranges for validation — generous bounds to avoid false rejections.
|
|
6
|
-
* Values outside these ranges are likely extraction errors.
|
|
7
|
-
*/
|
|
8
|
-
const CLINICAL_RANGES: Record<string, [number, number]> = {
|
|
9
|
-
weight_kg: [20, 300],
|
|
10
|
-
height_cm: [100, 250],
|
|
11
|
-
bmi: [10, 60],
|
|
12
|
-
body_fat_percent: [2, 60],
|
|
13
|
-
systolic_bp: [60, 250],
|
|
14
|
-
diastolic_bp: [30, 150],
|
|
15
|
-
heart_rate: [30, 220],
|
|
16
|
-
total_cholesterol: [50, 500],
|
|
17
|
-
ldl_c: [10, 400],
|
|
18
|
-
hdl: [5, 150],
|
|
19
|
-
triglycerides: [10, 2000],
|
|
20
|
-
apoB: [10, 300],
|
|
21
|
-
hba1c: [3, 15],
|
|
22
|
-
fasting_glucose: [30, 500],
|
|
23
|
-
fasting_insulin: [0.5, 300],
|
|
24
|
-
uric_acid: [0.5, 20],
|
|
25
|
-
creatinine: [0.1, 15],
|
|
26
|
-
bun: [2, 100],
|
|
27
|
-
egfr: [5, 150],
|
|
28
|
-
alt: [1, 2000],
|
|
29
|
-
ast: [1, 2000],
|
|
30
|
-
alp: [10, 1000],
|
|
31
|
-
ggt: [1, 2000],
|
|
32
|
-
bilirubin_total: [0.05, 30],
|
|
33
|
-
albumin: [1, 6],
|
|
34
|
-
hs_crp: [0.01, 300],
|
|
35
|
-
esr: [0, 140],
|
|
36
|
-
cortisol: [0.5, 60],
|
|
37
|
-
testosterone: [1, 2000],
|
|
38
|
-
estradiol: [1, 5000],
|
|
39
|
-
tsh: [0.01, 100],
|
|
40
|
-
wbc: [1, 50],
|
|
41
|
-
rbc: [1, 10],
|
|
42
|
-
hemoglobin: [3, 25],
|
|
43
|
-
hematocrit: [15, 65],
|
|
44
|
-
platelets: [10, 1000],
|
|
45
|
-
mcv: [50, 130],
|
|
46
|
-
rdw: [9, 25],
|
|
47
|
-
lymphocyte_percent: [2, 70],
|
|
48
|
-
vitamin_d: [3, 200],
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Map from raw extraction keys to BiomarkerSet field names and display metadata.
|
|
53
|
-
*/
|
|
54
|
-
const BIOMARKER_MAP: Record<string, { field: keyof BiomarkerSet; name: string; unit: string }> = {
|
|
55
|
-
weight_kg: { field: 'weight', name: 'Weight', unit: 'kg' },
|
|
56
|
-
height_cm: { field: 'height', name: 'Height', unit: 'cm' },
|
|
57
|
-
bmi: { field: 'bmi', name: 'BMI', unit: 'kg/m2' },
|
|
58
|
-
body_fat_percent: { field: 'bodyFatPercent', name: 'Body Fat', unit: '%' },
|
|
59
|
-
systolic_bp: { field: 'bloodPressureSystolic', name: 'Systolic BP', unit: 'mmHg' },
|
|
60
|
-
diastolic_bp: { field: 'bloodPressureDiastolic', name: 'Diastolic BP', unit: 'mmHg' },
|
|
61
|
-
heart_rate: { field: 'heartRate', name: 'Heart Rate', unit: 'bpm' },
|
|
62
|
-
total_cholesterol: { field: 'totalCholesterol', name: 'Total Cholesterol', unit: 'mg/dL' },
|
|
63
|
-
ldl_c: { field: 'ldlC', name: 'LDL-C', unit: 'mg/dL' },
|
|
64
|
-
hdl: { field: 'hdl', name: 'HDL', unit: 'mg/dL' },
|
|
65
|
-
triglycerides: { field: 'triglycerides', name: 'Triglycerides', unit: 'mg/dL' },
|
|
66
|
-
apoB: { field: 'apoB', name: 'ApoB', unit: 'mg/dL' },
|
|
67
|
-
hba1c: { field: 'hba1c', name: 'HbA1c', unit: '%' },
|
|
68
|
-
fasting_glucose: { field: 'fastingGlucose', name: 'Fasting Glucose', unit: 'mg/dL' },
|
|
69
|
-
fasting_insulin: { field: 'fastingInsulin', name: 'Fasting Insulin', unit: 'uIU/mL' },
|
|
70
|
-
uric_acid: { field: 'uricAcid', name: 'Uric Acid', unit: 'mg/dL' },
|
|
71
|
-
creatinine: { field: 'creatinine', name: 'Creatinine', unit: 'mg/dL' },
|
|
72
|
-
bun: { field: 'bun', name: 'BUN', unit: 'mg/dL' },
|
|
73
|
-
egfr: { field: 'egfr', name: 'eGFR', unit: 'mL/min/1.73m2' },
|
|
74
|
-
alt: { field: 'alt', name: 'ALT', unit: 'U/L' },
|
|
75
|
-
ast: { field: 'ast', name: 'AST', unit: 'U/L' },
|
|
76
|
-
alp: { field: 'alp', name: 'ALP', unit: 'U/L' },
|
|
77
|
-
ggt: { field: 'ggt', name: 'GGT', unit: 'U/L' },
|
|
78
|
-
bilirubin_total: { field: 'bilirubinTotal', name: 'Bilirubin (Total)', unit: 'mg/dL' },
|
|
79
|
-
albumin: { field: 'albumin', name: 'Albumin', unit: 'g/dL' },
|
|
80
|
-
hs_crp: { field: 'hsCrp', name: 'hs-CRP', unit: 'mg/L' },
|
|
81
|
-
esr: { field: 'esr', name: 'ESR', unit: 'mm/hr' },
|
|
82
|
-
cortisol: { field: 'cortisol', name: 'Cortisol', unit: 'ug/dL' },
|
|
83
|
-
testosterone: { field: 'testosterone', name: 'Testosterone', unit: 'ng/dL' },
|
|
84
|
-
estradiol: { field: 'estradiol', name: 'Estradiol', unit: 'pg/mL' },
|
|
85
|
-
tsh: { field: 'tsh', name: 'TSH', unit: 'mIU/L' },
|
|
86
|
-
wbc: { field: 'wbc', name: 'WBC', unit: '10^3/uL' },
|
|
87
|
-
rbc: { field: 'rbc', name: 'RBC', unit: '10^6/uL' },
|
|
88
|
-
hemoglobin: { field: 'hemoglobin', name: 'Hemoglobin', unit: 'g/dL' },
|
|
89
|
-
hematocrit: { field: 'hematocrit', name: 'Hematocrit', unit: '%' },
|
|
90
|
-
platelets: { field: 'platelets', name: 'Platelets', unit: '10^3/uL' },
|
|
91
|
-
mcv: { field: 'mcv', name: 'MCV', unit: 'fL' },
|
|
92
|
-
rdw: { field: 'rdw', name: 'RDW', unit: '%' },
|
|
93
|
-
lymphocyte_percent: { field: 'lymphocytePercent', name: 'Lymphocyte %', unit: '%' },
|
|
94
|
-
vitamin_d: { field: 'vitaminD', name: 'Vitamin D', unit: 'ng/mL' },
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
export interface ValidationResult {
|
|
98
|
-
biomarkers: BiomarkerSet;
|
|
99
|
-
accepted: number;
|
|
100
|
-
rejected: number;
|
|
101
|
-
confidence: number;
|
|
102
|
-
rejections: { key: string; value: unknown; reason: string }[];
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Validate and transform raw LLM extraction output to typed BiomarkerSet.
|
|
107
|
-
*
|
|
108
|
-
* Steps:
|
|
109
|
-
* 1. Filter nulls/undefined
|
|
110
|
-
* 2. Type-check numeric values
|
|
111
|
-
* 3. Range-check against generous clinical bounds
|
|
112
|
-
* 4. Map to BiomarkerSet fields
|
|
113
|
-
* 5. Compute extraction confidence score
|
|
114
|
-
*/
|
|
115
|
-
export function validateExtraction(raw: RawBiomarkers): ValidationResult {
|
|
116
|
-
const biomarkers: BiomarkerSet = {};
|
|
117
|
-
const rejections: { key: string; value: unknown; reason: string }[] = [];
|
|
118
|
-
let accepted = 0;
|
|
119
|
-
let rejected = 0;
|
|
120
|
-
|
|
121
|
-
for (const [key, value] of Object.entries(raw)) {
|
|
122
|
-
// Skip gender and non-biomarker fields
|
|
123
|
-
if (key === 'gender') continue;
|
|
124
|
-
|
|
125
|
-
// Skip null/undefined
|
|
126
|
-
if (value === null || value === undefined) continue;
|
|
127
|
-
|
|
128
|
-
// Skip string values (qualitative results like "Negative")
|
|
129
|
-
if (typeof value === 'string') continue;
|
|
130
|
-
|
|
131
|
-
// Must be a number at this point
|
|
132
|
-
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
133
|
-
rejections.push({ key, value, reason: 'not a finite number' });
|
|
134
|
-
rejected++;
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Check clinical ranges
|
|
139
|
-
const range = CLINICAL_RANGES[key];
|
|
140
|
-
if (range && (value < range[0] || value > range[1])) {
|
|
141
|
-
rejections.push({
|
|
142
|
-
key,
|
|
143
|
-
value,
|
|
144
|
-
reason: `outside clinical range [${range[0]}, ${range[1]}]`,
|
|
145
|
-
});
|
|
146
|
-
rejected++;
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Map to BiomarkerSet
|
|
151
|
-
const mapping = BIOMARKER_MAP[key];
|
|
152
|
-
if (!mapping) continue; // skip unknown keys
|
|
153
|
-
|
|
154
|
-
const biomarkerValue: BiomarkerValue = {
|
|
155
|
-
name: mapping.name,
|
|
156
|
-
value,
|
|
157
|
-
unit: mapping.unit,
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
(biomarkers as Record<string, BiomarkerValue>)[mapping.field] = biomarkerValue;
|
|
161
|
-
accepted++;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// Confidence based on yield ratio and cross-checks
|
|
165
|
-
const confidence = computeConfidence(biomarkers, accepted, rejected);
|
|
166
|
-
|
|
167
|
-
return { biomarkers, accepted, rejected, confidence, rejections };
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Compute extraction confidence score (0-1).
|
|
172
|
-
*
|
|
173
|
-
* Factors:
|
|
174
|
-
* - Yield: how many biomarkers were successfully extracted
|
|
175
|
-
* - Rejection rate: high rejections lower confidence
|
|
176
|
-
* - Cross-biomarker consistency checks
|
|
177
|
-
*/
|
|
178
|
-
function computeConfidence(biomarkers: BiomarkerSet, accepted: number, rejected: number): number {
|
|
179
|
-
if (accepted === 0) return 0;
|
|
180
|
-
|
|
181
|
-
// Base confidence from yield (diminishing returns above 15 markers)
|
|
182
|
-
const yieldScore = Math.min(accepted / 15, 1.0);
|
|
183
|
-
|
|
184
|
-
// Penalty for rejections
|
|
185
|
-
const total = accepted + rejected;
|
|
186
|
-
const rejectionPenalty = total > 0 ? rejected / total : 0;
|
|
187
|
-
|
|
188
|
-
// Cross-biomarker consistency checks
|
|
189
|
-
let consistencyScore = 1.0;
|
|
190
|
-
|
|
191
|
-
// Check: if both ALT and AST exist, AST should generally be ≤ 2×ALT in healthy
|
|
192
|
-
if (biomarkers.alt && biomarkers.ast) {
|
|
193
|
-
if (biomarkers.ast.value > biomarkers.alt.value * 5) {
|
|
194
|
-
consistencyScore -= 0.1;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
// Check: HDL should be less than total cholesterol
|
|
199
|
-
if (biomarkers.hdl && biomarkers.totalCholesterol) {
|
|
200
|
-
if (biomarkers.hdl.value > biomarkers.totalCholesterol.value) {
|
|
201
|
-
consistencyScore -= 0.15;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// Check: LDL should be less than total cholesterol
|
|
206
|
-
if (biomarkers.ldlC && biomarkers.totalCholesterol) {
|
|
207
|
-
if (biomarkers.ldlC.value > biomarkers.totalCholesterol.value) {
|
|
208
|
-
consistencyScore -= 0.15;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
const raw =
|
|
213
|
-
yieldScore * 0.5 + (1 - rejectionPenalty) * 0.25 + Math.max(consistencyScore, 0) * 0.25;
|
|
214
|
-
return Math.round(Math.min(Math.max(raw, 0), 1) * 100) / 100;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// Export for testing
|
|
218
|
-
export { CLINICAL_RANGES, BIOMARKER_MAP };
|
package/tsconfig.json
DELETED
package/tsconfig.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/typescript/lib/lib.es2022.full.d.ts","../shared/dist/types/user.d.ts","../shared/dist/types/biomarkers.d.ts","../shared/dist/types/lab-report.d.ts","../shared/dist/types/recommendation.d.ts","../shared/dist/types/simulation.d.ts","../shared/dist/types/messaging.d.ts","../shared/dist/types/llm.d.ts","../shared/dist/constants/unit-conversions.d.ts","../shared/dist/constants/biomarker-ranges.d.ts","../shared/dist/constants/drug-data.d.ts","../shared/dist/index.d.ts","./src/prompts/base.ts","./src/lab-detector.ts","./src/prompts/quest.ts","./src/prompts/labcorp.ts","./src/llm-extractor.ts","./src/validator.ts","./src/index.ts","../../node_modules/@types/deep-eql/index.d.ts","../../node_modules/assertion-error/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/d3-array/index.d.ts","../../node_modules/@types/d3-color/index.d.ts","../../node_modules/@types/d3-ease/index.d.ts","../../node_modules/@types/d3-interpolate/index.d.ts","../../node_modules/@types/d3-path/index.d.ts","../../node_modules/@types/d3-time/index.d.ts","../../node_modules/@types/d3-scale/index.d.ts","../../node_modules/@types/d3-shape/index.d.ts","../../node_modules/@types/d3-timer/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/@types/node/web-globals/console.d.ts","../../node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/utility.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client-stats.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/undici-types/h2c-client.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-call-history.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/@types/node/web-globals/url.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/inspector/promises.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/path/posix.d.ts","../../node_modules/@types/node/path/win32.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/quic.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/test/reporters.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/react-dom/index.d.ts","../../node_modules/@types/use-sync-external-store/index.d.ts"],"fileIdsList":[[84,85,100,163,171,175,178,180,181,182,194],[100,163,171,175,178,180,181,182,194],[88,100,163,171,175,178,180,181,182,194],[92,100,163,171,175,178,180,181,182,194],[91,100,163,171,175,178,180,181,182,194],[100,160,161,163,171,175,178,180,181,182,194],[100,162,163,171,175,178,180,181,182,194],[163,171,175,178,180,181,182,194],[100,163,171,175,178,180,181,182,194,202],[100,163,164,169,171,174,175,178,180,181,182,184,194,199,211],[100,163,164,165,171,174,175,178,180,181,182,194],[100,163,166,171,175,178,180,181,182,194,212],[100,163,167,168,171,175,178,180,181,182,185,194],[100,163,168,171,175,178,180,181,182,194,199,208],[100,163,169,171,174,175,178,180,181,182,184,194],[100,162,163,170,171,175,178,180,181,182,194],[100,163,171,172,175,178,180,181,182,194],[100,163,171,173,174,175,178,180,181,182,194],[100,162,163,171,174,175,178,180,181,182,194],[100,163,171,174,175,176,178,180,181,182,194,199,211],[100,163,171,174,175,176,178,180,181,182,194,199,202],[100,150,163,171,174,175,177,178,180,181,182,184,194,199,211],[100,163,171,174,175,177,178,180,181,182,184,194,199,208,211],[100,163,171,175,177,178,179,180,181,182,194,199,208,211],[98,99,100,101,102,103,104,105,106,107,108,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],[100,163,171,174,175,178,180,181,182,194],[100,163,171,175,178,180,182,194],[100,163,171,175,178,180,181,182,183,194,211],[100,163,171,174,175,178,180,181,182,184,194,199],[100,163,171,175,178,180,181,182,185,194],[100,163,171,175,178,180,181,182,186,194],[100,163,171,174,175,178,180,181,182,189,194],[100,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],[100,163,171,175,178,180,181,182,191,194],[100,163,171,175,178,180,181,182,192,194],[100,163,168,171,175,178,180,181,182,184,194,202],[100,163,171,174,175,178,180,181,182,194,195],[100,163,171,175,178,180,181,182,194,196,212,215],[100,163,171,174,175,178,180,181,182,194,199,201,202],[100,163,171,175,178,180,181,182,194,200,202],[100,163,171,175,178,180,181,182,194,202,212],[100,163,171,175,178,180,181,182,194,203],[100,160,163,171,175,178,180,181,182,194,199,205,211],[100,163,171,175,178,180,181,182,194,199,204],[100,163,171,174,175,178,180,181,182,194,206,207],[100,163,171,175,178,180,181,182,194,206,207],[100,163,168,171,175,178,180,181,182,184,194,199,208],[100,163,171,175,178,180,181,182,194,209],[100,163,171,175,178,180,181,182,184,194,210],[100,163,171,175,177,178,180,181,182,192,194,211],[100,163,171,175,178,180,181,182,194,212,213],[100,163,168,171,175,178,180,181,182,194,213],[100,163,171,175,178,180,181,182,194,199,214],[100,163,171,175,178,180,181,182,183,194,215],[100,163,171,175,178,180,181,182,194,216],[100,163,166,171,175,178,180,181,182,194],[100,163,168,171,175,178,180,181,182,194],[100,163,171,175,178,180,181,182,194,212],[100,150,163,171,175,178,180,181,182,194],[100,163,171,175,178,180,181,182,194,211],[100,163,171,175,178,180,181,182,194,217],[100,163,171,175,178,180,181,182,189,194],[100,163,171,175,178,180,181,182,194,207],[100,150,163,171,174,175,176,178,180,181,182,189,194,199,202,211,214,215,217],[100,163,171,175,178,180,181,182,194,199,218],[100,163,171,175,178,180,181,182,194,222],[100,163,171,175,178,180,181,182,194,220,221],[100,115,118,121,122,163,171,175,178,180,181,182,194,211],[100,118,163,171,175,178,180,181,182,194,199,211],[100,118,122,163,171,175,178,180,181,182,194,211],[100,163,171,175,178,180,181,182,194,199],[100,112,163,171,175,178,180,181,182,194],[100,116,163,171,175,178,180,181,182,194],[100,114,115,118,163,171,175,178,180,181,182,194,211],[100,163,171,175,178,180,181,182,184,194,208],[100,163,171,175,178,180,181,182,194,219],[100,112,163,171,175,178,180,181,182,194,219],[100,114,118,163,171,175,178,180,181,182,184,194,211],[100,109,110,111,113,117,163,171,174,175,178,180,181,182,194,199,211],[100,118,127,135,163,171,175,178,180,181,182,194],[100,110,116,163,171,175,178,180,181,182,194],[100,118,144,145,163,171,175,178,180,181,182,194],[100,110,113,118,163,171,175,178,180,181,182,194,202,211,219],[100,118,163,171,175,178,180,181,182,194],[100,114,118,163,171,175,178,180,181,182,194,211],[100,109,163,171,175,178,180,181,182,194],[100,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,147,148,149,163,171,175,178,180,181,182,194],[100,118,137,140,163,171,175,178,180,181,182,194],[100,118,127,128,129,163,171,175,178,180,181,182,194],[100,116,118,128,130,163,171,175,178,180,181,182,194],[100,117,163,171,175,178,180,181,182,194],[100,110,112,118,163,171,175,178,180,181,182,194],[100,118,122,128,130,163,171,175,178,180,181,182,194],[100,122,163,171,175,178,180,181,182,194],[100,116,118,121,163,171,175,178,180,181,182,194,211],[100,110,114,118,127,163,171,175,178,180,181,182,194],[100,118,137,163,171,175,178,180,181,182,194],[100,130,163,171,175,178,180,181,182,194],[100,112,118,144,163,171,175,178,180,181,182,194,202,217,219],[76,78,81,82,100,163,171,175,178,180,181,182,194],[76,77,100,163,171,175,178,180,181,182,194],[76,77,79,80,100,163,171,175,178,180,181,182,194],[76,81,100,163,171,175,178,180,181,182,194],[66,67,68,69,70,71,72,73,74,75,100,163,171,175,178,180,181,182,194],[67,100,163,171,175,178,180,181,182,194],[66,100,163,171,175,178,180,181,182,194]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},"e7ef705b4bd6c328a5b128f57756a5732a7e408c08c64dd9daa7e4c7150bdc12","cc5e99ca897b1846e1a522e41a035cbe73aba89e23ec8e71a370d8e593fb7a4a","6d85f9d69a6e2354e4a0e2e01dd63a80aeb06a6eed8e415fa68e67f21d322173","94e1a05011cfe86775b1cc53900853f0d9588c67b3b826a64c62f68157c71e9b","5250ec149c9546bd0b6542a30d90462c51afc9478adee8cfa4b3a29c70326766","f81b798608be049389fd2a65039655814651cae78916669b547c57ae60717698","e0c40f5f19287706f42fffca4cd03e8f164fb013d4de906d5e861d3d298b01bf","e45e2d87300759192c84ce18d67c7f3b08e2fb4ffe0a8654d20b83cb20865a83","2ed4b8d280c84342b549254421e3015190fffb6cc872c7b226c96e6024b8d3fb","e823245a8a70b8b9f44f626240144d7d83b84bb55325345e5402a11fbfede6bc","49bd0ec0c52a3fe2c065d1d0fc777f256ecbbf51858e45315c651f47c7a40f35",{"version":"d7049d481acb7d06fe56e09073784736729a1295d53066f45702e823696199f4","signature":"d668c5cb96b8109d4e4f1932da9688e413c03217e5f1be336d5a961dcd7eb296"},{"version":"144cc2037a669dc028ad90d11c72f96ff647313579563bee4b98d860ed537e1c","signature":"b5f0abb176f6c496e5064c62bb784f91cc4dca71d2d3b34747b45e9343c9ddcc"},{"version":"5349b4093235cf998d584d490d75da5b6cadbb26125a9cd8e3400b012418f51e","signature":"47295d9657a3c323114d5d1381cc6cfaf84b4abcc0b60e76fbf6b47a198b6550"},{"version":"a50940e48ae4b4b1dbca5060ab1a011fdc01861fb0f8f913628f3a1d5e43feed","signature":"3da587790d50f74f587b292acfc9c13c0ca1249fadb3186ee55d9bb31e6732dc"},{"version":"64e12367f1961af28a9c317a600d2e946dbe7220ba56670f8921f1e7e6217a26","signature":"97350291d7c49ccd19e36941d0224816be50e24f988e05d7d094856aae595cb1"},{"version":"bbcff1149228965a34827ed97efe84f01dfc8a61288f989d78378ace0a515e5b","signature":"5f18d55df86b7411454360ac846da3fbe5c5dd5efef9e69d91328b01dad10c11"},{"version":"3d6cd7fafae96f4e399614ca413ae953c515d5dae90bba44a97d178443224826","signature":"03103bf6727ca2ed2d7365cf2eac5e93378201be5df4f1552ad6aab4cf176145"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"438b41419b1df9f1fbe33b5e1b18f5853432be205991d1b19f5b7f351675541e","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"24371e69a38fc33e268d4a8716dbcda430d6c2c414a99ff9669239c4b8f40dea","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"c63b9ada8c72f95aac5db92aea07e5e87ec810353cdf63b2d78f49a58662cf6c","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"435b3711465425770ed2ee2f1cf00ce071835265e0851a7dc4600ab4b007550e","impliedFormat":1},{"version":"7e49f52a159435fc8df4de9dc377ef5860732ca2dc9efec1640531d3cf5da7a3","impliedFormat":1},{"version":"dd4bde4bdc2e5394aed6855e98cf135dfdf5dd6468cad842e03116d31bbcc9bc","impliedFormat":1},{"version":"4d4e879009a84a47c05350b8dca823036ba3a29a3038efed1be76c9f81e45edf","affectsGlobalScope":true,"impliedFormat":1},{"version":"237ba5ac2a95702a114a309e39c53a5bddff5f6333b325db9764df9b34f3502b","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"1d024184fb57c58c5c91823f9d10b4915a4867b7934e89115fd0d861a9df27c8","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"b0b69c61b0f0ec8ca15db4c8c41f6e77f4cacb784d42bca948f42dea33e8757e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f96a48183254c00d24575401f1a761b4ce4927d927407e7862a83e06ce5d6964","impliedFormat":1},{"version":"cc25940cfb27aa538e60d465f98bb5068d4d7d33131861ace43f04fe6947d68f","impliedFormat":1},{"version":"f83fb2b1338afbb3f9d733c7d6e8b135826c41b0518867df0c0ace18ae1aa270","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"757227c8b345c57d76f7f0e3bbad7a91ffca23f1b2547cbed9e10025816c9cb7","impliedFormat":1},{"version":"42a05d8f239f74587d4926aba8cc54792eed8e8a442c7adc9b38b516642aadfe","impliedFormat":1},{"version":"5d21b58d60383cc6ab9ad3d3e265d7d25af24a2c9b506247e0e50b0a884920be","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"ae6757460f37078884b1571a3de3ebaf724d827d7e1d53626c02b3c2a408ac63","affectsGlobalScope":true,"impliedFormat":1},{"version":"9451a46a89ed209e2e08329e6cac59f89356eae79a7230f916d8cc38725407c7","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"e236b5eba291f51bdf32c231673e6cab81b5410850e61f51a7a524dddadc0f95","impliedFormat":1},{"version":"cf9717ebf9dd23f5f1e55e00545df1edc40ac8a671a034974fb4ff5dfbfaacc4","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f2c62938251b45715fd2a9887060ec4fbc8724727029d1cbce373747252bdd7","impliedFormat":1},{"version":"e3ace08b6bbd84655d41e244677b474fd995923ffef7149ddb68af8848b60b05","impliedFormat":1},{"version":"132580b0e86c48fab152bab850fc57a4b74fe915c8958d2ccb052b809a44b61c","impliedFormat":1},{"version":"af4ab0aa8908fc9a655bb833d3bc28e117c4f0e1038c5a891546158beb25accb","impliedFormat":1},{"version":"69c9a5a9392e8564bd81116e1ed93b13205201fb44cb35a7fde8c9f9e21c4b23","impliedFormat":1},{"version":"5f8fc37f8434691ffac1bfd8fc2634647da2c0e84253ab5d2dd19a7718915b35","impliedFormat":1},{"version":"5981c2340fd8b076cae8efbae818d42c11ffc615994cb060b1cd390795f1be2b","impliedFormat":1},{"version":"f64deb26664af64dc274637343bde8d82f930c77af05a412c7d310b77207a448","impliedFormat":1},{"version":"ed4f674fc8c0c993cc7e145069ac44129e03519b910c62be206a0cc777bdc60b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0250da3eb85c99624f974e77ef355cdf86f43980251bc371475c2b397ba55bcd","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"3d3a5f27ffbc06c885dd4d5f9ee20de61faf877fe2c3a7051c4825903d9a7fdc","impliedFormat":1},{"version":"12806f9f085598ef930edaf2467a5fa1789a878fba077cd27e85dc5851e11834","impliedFormat":1},{"version":"bce309f4d9b67c18d4eeff5bba6cf3e67b2b0aead9f03f75d6060c553974d7ba","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"fde38b23ab057617351c1676047d3317f651b1a6d207084e41c056ed158a77f9","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"14d4bd22d1b05824971b98f7e91b2484c90f1a684805c330476641417c3d9735","impliedFormat":1},{"version":"c3877fef8a43cd434f9728f25a97575b0eb73d92f38b5c87c840daccc3e21d97","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"1dbd83860e7634f9c236647f45dbc5d3c4f9eba8827d87209d6e9826fdf4dbd5","impliedFormat":1},{"version":"41ef7992c555671a8fe54db302788adefa191ded810a50329b79d20a6772d14c","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"b37f83e7deea729aa9ce5593f78905afb45b7532fdff63041d374f60059e7852","impliedFormat":1},{"version":"e1cb68f3ef3a8dd7b2a9dfb3de482ed6c0f1586ba0db4e7d73c1d2147b6ffc51","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","impliedFormat":1}],"root":[[77,83]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":7,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[86,1],[87,2],[88,2],[89,2],[90,3],[91,2],[93,4],[94,5],[92,2],[95,2],[84,2],[96,2],[97,2],[160,6],[161,6],[162,7],[100,8],[163,9],[164,10],[165,11],[98,2],[166,12],[167,13],[168,14],[169,15],[170,16],[171,17],[172,17],[173,18],[174,19],[175,20],[176,21],[101,2],[99,2],[177,22],[178,23],[179,24],[219,25],[180,26],[181,27],[182,26],[183,28],[184,29],[185,30],[186,31],[187,31],[188,31],[189,32],[190,33],[191,34],[192,35],[193,36],[194,37],[195,37],[196,38],[197,2],[198,2],[199,39],[200,40],[201,39],[202,41],[203,42],[204,43],[205,44],[206,45],[207,46],[208,47],[209,48],[210,49],[211,50],[212,51],[213,52],[214,53],[215,54],[216,55],[102,26],[103,2],[104,56],[105,57],[106,2],[107,58],[108,2],[151,59],[152,60],[153,61],[154,61],[155,62],[156,2],[157,9],[158,63],[159,60],[217,64],[218,65],[223,66],[220,2],[222,67],[224,2],[85,2],[221,2],[63,2],[64,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[65,2],[57,2],[58,2],[60,2],[59,2],[1,2],[61,2],[62,2],[14,2],[13,2],[127,68],[139,69],[124,70],[140,71],[149,72],[115,73],[116,74],[114,75],[148,76],[143,77],[147,78],[118,79],[136,80],[117,81],[146,82],[112,83],[113,77],[119,84],[120,2],[126,85],[123,84],[110,86],[150,87],[141,88],[130,89],[129,84],[131,90],[134,91],[128,92],[132,93],[144,76],[121,94],[122,95],[135,96],[111,71],[138,97],[137,84],[125,95],[133,98],[142,2],[109,2],[145,99],[83,100],[78,101],[81,102],[77,2],[80,2],[79,2],[82,103],[74,2],[75,2],[73,2],[76,104],[67,2],[68,105],[72,2],[71,106],[69,2],[70,105],[66,2]],"latestChangedDtsFile":"./dist/index.d.ts","version":"5.9.3"}
|