eyecite-ts 0.7.2 → 0.8.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/dist/annotate/index.d.cts +1 -1
- package/dist/annotate/index.d.mts +1 -1
- package/dist/{citation-BB_vC_7x.d.cts → citation-Cp0M8pGK.d.cts} +3 -3
- package/dist/{citation-BB_vC_7x.d.cts.map → citation-Cp0M8pGK.d.cts.map} +1 -1
- package/dist/{citation-Bg1QDUYb.d.mts → citation-GF9_w_kw.d.mts} +3 -3
- package/dist/{citation-Bg1QDUYb.d.mts.map → citation-GF9_w_kw.d.mts.map} +1 -1
- package/dist/data/index.cjs +1 -1
- package/dist/data/index.cjs.map +1 -1
- package/dist/data/index.d.cts.map +1 -1
- package/dist/data/index.d.mts.map +1 -1
- package/dist/data/index.mjs +1 -1
- package/dist/data/index.mjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/{knownCodes-CI-vnoBO.cjs → reportersCache-BCIjh0Pj.cjs} +2 -2
- package/dist/reportersCache-BCIjh0Pj.cjs.map +1 -0
- package/dist/{knownCodes-MkDSiR1j.mjs → reportersCache-o4er0NJ8.mjs} +2 -2
- package/dist/reportersCache-o4er0NJ8.mjs.map +1 -0
- package/dist/{types-D0xwBESF.d.cts → types-BCj-F1CQ.d.mts} +5 -5
- package/dist/{types-D0xwBESF.d.cts.map → types-BCj-F1CQ.d.mts.map} +1 -1
- package/dist/{types-vAgBB1j3.d.mts → types-DsYwn8kp.d.cts} +5 -5
- package/dist/{types-vAgBB1j3.d.mts.map → types-DsYwn8kp.d.cts.map} +1 -1
- package/dist/utils/index.d.cts +2 -2
- package/dist/utils/index.d.mts +2 -2
- package/package.json +1 -1
- package/dist/knownCodes-CI-vnoBO.cjs.map +0 -1
- package/dist/knownCodes-MkDSiR1j.mjs.map +0 -1
|
@@ -534,8 +534,8 @@ interface IdCitation extends CitationBase {
|
|
|
534
534
|
*/
|
|
535
535
|
interface SupraCitation extends CitationBase {
|
|
536
536
|
type: "supra";
|
|
537
|
-
/** Party name extracted from citation text */
|
|
538
|
-
partyName
|
|
537
|
+
/** Party name extracted from citation text (undefined for standalone supra references) */
|
|
538
|
+
partyName?: string;
|
|
539
539
|
/** Specific page reference */
|
|
540
540
|
pincite?: number;
|
|
541
541
|
}
|
|
@@ -602,4 +602,4 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
|
|
|
602
602
|
type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
|
|
603
603
|
//#endregion
|
|
604
604
|
export { PinciteInfo as A, StatuteCitation as C, Warning as D, SupraCitation as E, Span as O, ShortFormCitationType as S, SubsequentHistoryEntry as T, Parenthetical as _, CitationType as a, ShortFormCaseCitation as b, ExtractorMap as c, FullCitation as d, FullCitationType as f, NeutralCitation as g, JournalCitation as h, CitationSignal as i, parsePincite as j, TransformationMap as k, FederalRegisterCitation as l, IdCitation as m, CitationBase as n, ConstitutionalCitation as o, HistorySignal as p, CitationOfType as r, CourtInference as s, Citation as t, FullCaseCitation as u, ParentheticalType as v, StatutesAtLargeCitation as w, ShortFormCitation as x, PublicLawCitation as y };
|
|
605
|
-
//# sourceMappingURL=citation-
|
|
605
|
+
//# sourceMappingURL=citation-Cp0M8pGK.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"citation-
|
|
1
|
+
{"version":3,"file":"citation-Cp0M8pGK.d.cts","names":[],"sources":["../src/extract/pincite.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/citation.ts"],"mappings":"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"}
|
|
@@ -534,8 +534,8 @@ interface IdCitation extends CitationBase {
|
|
|
534
534
|
*/
|
|
535
535
|
interface SupraCitation extends CitationBase {
|
|
536
536
|
type: "supra";
|
|
537
|
-
/** Party name extracted from citation text */
|
|
538
|
-
partyName
|
|
537
|
+
/** Party name extracted from citation text (undefined for standalone supra references) */
|
|
538
|
+
partyName?: string;
|
|
539
539
|
/** Specific page reference */
|
|
540
540
|
pincite?: number;
|
|
541
541
|
}
|
|
@@ -602,4 +602,4 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
|
|
|
602
602
|
type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
|
|
603
603
|
//#endregion
|
|
604
604
|
export { PinciteInfo as A, StatuteCitation as C, Warning as D, SupraCitation as E, Span as O, ShortFormCitationType as S, SubsequentHistoryEntry as T, Parenthetical as _, CitationType as a, ShortFormCaseCitation as b, ExtractorMap as c, FullCitation as d, FullCitationType as f, NeutralCitation as g, JournalCitation as h, CitationSignal as i, parsePincite as j, TransformationMap as k, FederalRegisterCitation as l, IdCitation as m, CitationBase as n, ConstitutionalCitation as o, HistorySignal as p, CitationOfType as r, CourtInference as s, Citation as t, FullCaseCitation as u, ParentheticalType as v, StatutesAtLargeCitation as w, ShortFormCitation as x, PublicLawCitation as y };
|
|
605
|
-
//# sourceMappingURL=citation-
|
|
605
|
+
//# sourceMappingURL=citation-GF9_w_kw.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"citation-
|
|
1
|
+
{"version":3,"file":"citation-GF9_w_kw.d.mts","names":[],"sources":["../src/extract/pincite.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/citation.ts"],"mappings":"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"}
|
package/dist/data/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../reportersCache-BCIjh0Pj.cjs`);async function t(){let t=e.t();if(t)return t;let n=await import(`../../data/reporters.json`,{assert:{type:`json`}}),r=new Map,i=[],a=n.default||n;for(let[e,t]of Object.entries(a))for(let e of t){i.push(e);for(let t of Object.keys(e.editions)){let n=t.toLowerCase();r.has(n)||r.set(n,[]),r.get(n)?.push(e)}for(let[t,n]of Object.entries(e.variations||{})){let n=t.toLowerCase();r.has(n)||r.set(n,[]),r.get(n)?.push(e)}}let o={byAbbreviation:r,all:i};return e.n(o),o}function n(){return e.t()}async function r(e){return(await t()).byAbbreviation.get(e.toLowerCase())??[]}exports.abbreviatedCodes=e.r,exports.findAbbreviatedCode=e.i,exports.findNamedCode=e.a,exports.findReportersByAbbreviation=r,exports.getReportersSync=n,exports.loadReporters=t,exports.namedCodes=e.o;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/data/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/data/reporters.ts"],"sourcesContent":["/**\n * Reporter database integration for citation validation\n *\n * This module provides lazy-loadable access to the reporters-db database,\n * containing 1200+ court reporters with variant forms. The library works\n * in degraded mode (pattern-based extraction only) if reporters are not loaded.\n *\n * @example\n * // Degraded mode: extraction works without reporter data\n * const citations = await extract(text)\n *\n * @example\n * // Full mode: load reporters for validation\n * await loadReporters()\n * const citations = await extract(text) // Now with reporter validation\n */\n\n/**\n * Edition entry from reporters-db\n *\n * Represents a specific edition of a reporter with start/end dates.\n */\nexport interface ReporterEdition {\n /** Start date in ISO 8601 format */\n start: string | null\n /** End date in ISO 8601 format (null if ongoing) */\n end: string | null\n}\n\n/**\n * Reporter entry from reporters-db\n *\n * Represents a single court reporter with all metadata needed for\n * citation validation and enrichment.\n *\n * Note: The reporters-db structure has the actual data; this interface\n * represents it flexibly to handle all variations in the JSON.\n */\nexport interface ReporterEntry {\n /** Full reporter name (e.g., \"Federal Reporter\") */\n name: string\n /** Citation type: state, federal, specialty, neutral, state_regional, etc. */\n cite_type: string\n /** Editions keyed by abbreviation (e.g., {\"F.2d\": {...}, \"F.3d\": {...}}) */\n editions: Record<string, ReporterEdition>\n /** Variant forms mapped to canonical form (e.g., {\"F. 2d\": \"F.2d\"}) */\n variations?: Record<string, string | undefined>\n /** MLZ jurisdiction identifiers (optional) */\n mlz_jurisdiction?: string[]\n /** Publisher (optional) */\n publisher?: string\n /** Notes (optional) */\n notes?: string\n}\n\n/**\n * In-memory reporter database with fast O(1) lookup\n *\n * Uses Map-based indexing for case-insensitive abbreviation lookup.\n * All variant forms are indexed to support fuzzy matching.\n */\nexport interface ReportersDatabase {\n /** Fast O(1) lookup by abbreviation (lowercase normalized keys) */\n byAbbreviation: Map<string, ReporterEntry[]>\n /** All reporters (for iteration/filtering) */\n all: ReporterEntry[]\n}\n\
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["_getReportersSync"],"sources":["../../src/data/reporters.ts"],"sourcesContent":["/**\n * Reporter database integration for citation validation\n *\n * This module provides lazy-loadable access to the reporters-db database,\n * containing 1200+ court reporters with variant forms. The library works\n * in degraded mode (pattern-based extraction only) if reporters are not loaded.\n *\n * @example\n * // Degraded mode: extraction works without reporter data\n * const citations = await extract(text)\n *\n * @example\n * // Full mode: load reporters for validation\n * await loadReporters()\n * const citations = await extract(text) // Now with reporter validation\n */\n\n/**\n * Edition entry from reporters-db\n *\n * Represents a specific edition of a reporter with start/end dates.\n */\nexport interface ReporterEdition {\n /** Start date in ISO 8601 format */\n start: string | null\n /** End date in ISO 8601 format (null if ongoing) */\n end: string | null\n}\n\n/**\n * Reporter entry from reporters-db\n *\n * Represents a single court reporter with all metadata needed for\n * citation validation and enrichment.\n *\n * Note: The reporters-db structure has the actual data; this interface\n * represents it flexibly to handle all variations in the JSON.\n */\nexport interface ReporterEntry {\n /** Full reporter name (e.g., \"Federal Reporter\") */\n name: string\n /** Citation type: state, federal, specialty, neutral, state_regional, etc. */\n cite_type: string\n /** Editions keyed by abbreviation (e.g., {\"F.2d\": {...}, \"F.3d\": {...}}) */\n editions: Record<string, ReporterEdition>\n /** Variant forms mapped to canonical form (e.g., {\"F. 2d\": \"F.2d\"}) */\n variations?: Record<string, string | undefined>\n /** MLZ jurisdiction identifiers (optional) */\n mlz_jurisdiction?: string[]\n /** Publisher (optional) */\n publisher?: string\n /** Notes (optional) */\n notes?: string\n}\n\n/**\n * In-memory reporter database with fast O(1) lookup\n *\n * Uses Map-based indexing for case-insensitive abbreviation lookup.\n * All variant forms are indexed to support fuzzy matching.\n */\nexport interface ReportersDatabase {\n /** Fast O(1) lookup by abbreviation (lowercase normalized keys) */\n byAbbreviation: Map<string, ReporterEntry[]>\n /** All reporters (for iteration/filtering) */\n all: ReporterEntry[]\n}\n\nimport {\n getReportersSync as _getReportersSync,\n setReportersCache,\n} from \"./reportersCache\"\n\n/**\n * Load reporter database asynchronously with lazy loading\n *\n * Dynamic import prevents loading 1200+ reporters until explicitly requested.\n * Result is cached after first load for subsequent calls.\n *\n * @returns Promise resolving to indexed reporter database\n *\n * @example\n * const db = await loadReporters()\n * const reporters = db.byAbbreviation.get('f.2d') // Fast O(1) lookup\n */\nexport async function loadReporters(): Promise<ReportersDatabase> {\n const existing = _getReportersSync()\n if (existing) return existing\n\n // Dynamic import prevents loading until requested (keeps core bundle small)\n const data = await import(\"../../data/reporters.json\", {\n assert: { type: \"json\" },\n })\n\n const byAbbreviation = new Map<string, ReporterEntry[]>()\n const all: ReporterEntry[] = []\n\n // reporters.json structure: { \"A.\": [...], \"F.2d\": [...], ... }\n const reportersData = (data.default || data) as Record<string, ReporterEntry[]>\n\n // Build fast lookup index with lowercase normalization\n for (const [_canonicalAbbr, reporters] of Object.entries(reportersData)) {\n for (const reporter of reporters) {\n all.push(reporter)\n\n // Index by all edition abbreviations\n for (const editionAbbr of Object.keys(reporter.editions)) {\n const key = editionAbbr.toLowerCase()\n if (!byAbbreviation.has(key)) {\n byAbbreviation.set(key, [])\n }\n byAbbreviation.get(key)?.push(reporter)\n }\n\n // Index all variations for fuzzy matching\n for (const [variant, _canonical] of Object.entries(reporter.variations || {})) {\n const variantKey = variant.toLowerCase()\n if (!byAbbreviation.has(variantKey)) {\n byAbbreviation.set(variantKey, [])\n }\n byAbbreviation.get(variantKey)?.push(reporter)\n }\n }\n }\n\n const db: ReportersDatabase = { byAbbreviation, all }\n setReportersCache(db)\n return db\n}\n\n/**\n * Get cached reporter database synchronously (degraded mode support)\n *\n * Returns null if reporters not loaded yet. This enables the library to\n * work in degraded mode without reporter validation.\n *\n * @returns Cached database or null if not loaded\n *\n * @example\n * const db = getReportersSync()\n * if (db) {\n * // Full mode: validate citations\n * } else {\n * // Degraded mode: extract without validation\n * }\n */\nexport function getReportersSync(): ReportersDatabase | null {\n return _getReportersSync()\n}\n\n/**\n * Find reporters by abbreviation (case-insensitive)\n *\n * Loads reporter database if not already loaded. Returns all reporters\n * matching the abbreviation (including variant forms).\n *\n * @param abbr - Reporter abbreviation to look up\n * @returns Promise resolving to matching reporters (empty array if none)\n *\n * @example\n * const reporters = await findReportersByAbbreviation('F.2d')\n * // [{ abbreviation: 'F.2d', name: 'Federal Reporter, Second Series', ... }]\n *\n * @example\n * const unknown = await findReportersByAbbreviation('NONEXISTENT')\n * // [] (empty array, not error)\n */\nexport async function findReportersByAbbreviation(abbr: string): Promise<ReporterEntry[]> {\n const db = await loadReporters()\n return db.byAbbreviation.get(abbr.toLowerCase()) ?? []\n}\n"],"mappings":"qHAqFA,eAAsB,GAA4C,CAChE,IAAM,EAAWA,EAAAA,GAAmB,CACpC,GAAI,EAAU,OAAO,EAGrB,IAAM,EAAO,MAAM,OAAO,4BAA6B,CACrD,OAAQ,CAAE,KAAM,OAAQ,CACzB,EAEK,EAAiB,IAAI,IACrB,EAAuB,EAAE,CAGzB,EAAiB,EAAK,SAAW,EAGvC,IAAK,GAAM,CAAC,EAAgB,KAAc,OAAO,QAAQ,EAAc,CACrE,IAAK,IAAM,KAAY,EAAW,CAChC,EAAI,KAAK,EAAS,CAGlB,IAAK,IAAM,KAAe,OAAO,KAAK,EAAS,SAAS,CAAE,CACxD,IAAM,EAAM,EAAY,aAAa,CAChC,EAAe,IAAI,EAAI,EAC1B,EAAe,IAAI,EAAK,EAAE,CAAC,CAE7B,EAAe,IAAI,EAAI,EAAE,KAAK,EAAS,CAIzC,IAAK,GAAM,CAAC,EAAS,KAAe,OAAO,QAAQ,EAAS,YAAc,EAAE,CAAC,CAAE,CAC7E,IAAM,EAAa,EAAQ,aAAa,CACnC,EAAe,IAAI,EAAW,EACjC,EAAe,IAAI,EAAY,EAAE,CAAC,CAEpC,EAAe,IAAI,EAAW,EAAE,KAAK,EAAS,EAKpD,IAAM,EAAwB,CAAE,iBAAgB,MAAK,CAErD,OADA,EAAA,EAAkB,EAAG,CACd,EAmBT,SAAgB,GAA6C,CAC3D,OAAOA,EAAAA,GAAmB,CAoB5B,eAAsB,EAA4B,EAAwC,CAExF,OADW,MAAM,GAAe,EACtB,eAAe,IAAI,EAAK,aAAa,CAAC,EAAI,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/data/knownCodes.ts","../../src/data/reporters.ts"],"mappings":";;AAcA;;;;;;;;;;AAsBA;;UAtBiB,SAAA;EAsBc;EApB7B,YAAA;EAqIF;EAnIE,YAAA;;EAEA,QAAA;EAiIuB;EA/HvB,MAAA;AAAA;;;;;;;;AAs6BF;;;;cAx5Ba,gBAAA,EAAkB,SAAA;;;;ACd/B;;;;;AAgBA;;;;;;;cD+Ga,UAAA,EAAY,SAAA;;;;;;;;;;;;;ACxFzB;;;;;;;iBDi0BgB,aAAA,CAAc,YAAA,UAAsB,QAAA,WAAmB,SAAA;;;;;;;;ACzyBvE;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/data/knownCodes.ts","../../src/data/reporters.ts"],"mappings":";;AAcA;;;;;;;;;;AAsBA;;UAtBiB,SAAA;EAsBc;EApB7B,YAAA;EAqIF;EAnIE,YAAA;;EAEA,QAAA;EAiIuB;EA/HvB,MAAA;AAAA;;;;;;;;AAs6BF;;;;cAx5Ba,gBAAA,EAAkB,SAAA;;;;ACd/B;;;;;AAgBA;;;;;;;cD+Ga,UAAA,EAAY,SAAA;;;;;;;;;;;;;ACxFzB;;;;;;;iBDi0BgB,aAAA,CAAc,YAAA,UAAsB,QAAA,WAAmB,SAAA;;;;;;;;ACzyBvE;;;;;AA6DA;;;;iBD0yBgB,mBAAA,CAAoB,UAAA,WAAqB,SAAA;;;;AA96BzD;;;;;;;;;;AAsBA;;;;;AAiHA;;;;;AAAA,UC/HiB,eAAA;EDw2BD;ECt2Bd,KAAA;EDs2BqE;ECp2BrE,GAAA;AAAA;;;;ADk6BF;;;;;;UCt5BiB,aAAA;;EAEf,IAAA;EAlBe;EAoBf,SAAA;EApBe;EAsBf,QAAA,EAAU,MAAA,SAAe,eAAA;EAN3B;EAQE,UAAA,GAAa,MAAA;;EAEb,gBAAA;;EAEA,SAAA;;EAEA,KAAA;AAAA;;;;;;;UASe,iBAAA;;EAEf,cAAA,EAAgB,GAAA,SAAY,aAAA;;EAE5B,GAAA,EAAK,aAAA;AAAA;;;;;;;;;;;;;iBAoBe,aAAA,CAAA,GAAiB,OAAA,CAAQ,iBAAA;;AAA/C;;;;;AA6DA;;;;;AAqBA;;;;;iBArBgB,gBAAA,CAAA,GAAoB,iBAAA;;;;;;;;;;;;;;;;;;iBAqBd,2BAAA,CAA4B,IAAA,WAAe,OAAA,CAAQ,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/data/knownCodes.ts","../../src/data/reporters.ts"],"mappings":";;AAcA;;;;;;;;;;AAsBA;;UAtBiB,SAAA;EAsBc;EApB7B,YAAA;EAqIF;EAnIE,YAAA;;EAEA,QAAA;EAiIuB;EA/HvB,MAAA;AAAA;;;;;;;;AAs6BF;;;;cAx5Ba,gBAAA,EAAkB,SAAA;;;;ACd/B;;;;;AAgBA;;;;;;;cD+Ga,UAAA,EAAY,SAAA;;;;;;;;;;;;;ACxFzB;;;;;;;iBDi0BgB,aAAA,CAAc,YAAA,UAAsB,QAAA,WAAmB,SAAA;;;;;;;;ACzyBvE;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/data/knownCodes.ts","../../src/data/reporters.ts"],"mappings":";;AAcA;;;;;;;;;;AAsBA;;UAtBiB,SAAA;EAsBc;EApB7B,YAAA;EAqIF;EAnIE,YAAA;;EAEA,QAAA;EAiIuB;EA/HvB,MAAA;AAAA;;;;;;;;AAs6BF;;;;cAx5Ba,gBAAA,EAAkB,SAAA;;;;ACd/B;;;;;AAgBA;;;;;;;cD+Ga,UAAA,EAAY,SAAA;;;;;;;;;;;;;ACxFzB;;;;;;;iBDi0BgB,aAAA,CAAc,YAAA,UAAsB,QAAA,WAAmB,SAAA;;;;;;;;ACzyBvE;;;;;AA6DA;;;;iBD0yBgB,mBAAA,CAAoB,UAAA,WAAqB,SAAA;;;;AA96BzD;;;;;;;;;;AAsBA;;;;;AAiHA;;;;;AAAA,UC/HiB,eAAA;EDw2BD;ECt2Bd,KAAA;EDs2BqE;ECp2BrE,GAAA;AAAA;;;;ADk6BF;;;;;;UCt5BiB,aAAA;;EAEf,IAAA;EAlBe;EAoBf,SAAA;EApBe;EAsBf,QAAA,EAAU,MAAA,SAAe,eAAA;EAN3B;EAQE,UAAA,GAAa,MAAA;;EAEb,gBAAA;;EAEA,SAAA;;EAEA,KAAA;AAAA;;;;;;;UASe,iBAAA;;EAEf,cAAA,EAAgB,GAAA,SAAY,aAAA;;EAE5B,GAAA,EAAK,aAAA;AAAA;;;;;;;;;;;;;iBAoBe,aAAA,CAAA,GAAiB,OAAA,CAAQ,iBAAA;;AAA/C;;;;;AA6DA;;;;;AAqBA;;;;;iBArBgB,gBAAA,CAAA,GAAoB,iBAAA;;;;;;;;;;;;;;;;;;iBAqBd,2BAAA,CAA4B,IAAA,WAAe,OAAA,CAAQ,aAAA"}
|
package/dist/data/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,t as a}from"../reportersCache-o4er0NJ8.mjs";async function o(){let e=a();if(e)return e;let t=await import(`../../data/reporters.json`,{assert:{type:`json`}}),r=new Map,i=[],o=t.default||t;for(let[e,t]of Object.entries(o))for(let e of t){i.push(e);for(let t of Object.keys(e.editions)){let n=t.toLowerCase();r.has(n)||r.set(n,[]),r.get(n)?.push(e)}for(let[t,n]of Object.entries(e.variations||{})){let n=t.toLowerCase();r.has(n)||r.set(n,[]),r.get(n)?.push(e)}}let s={byAbbreviation:r,all:i};return n(s),s}function s(){return a()}async function c(e){return(await o()).byAbbreviation.get(e.toLowerCase())??[]}export{i as abbreviatedCodes,t as findAbbreviatedCode,e as findNamedCode,c as findReportersByAbbreviation,s as getReportersSync,o as loadReporters,r as namedCodes};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/data/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/data/reporters.ts"],"sourcesContent":["/**\n * Reporter database integration for citation validation\n *\n * This module provides lazy-loadable access to the reporters-db database,\n * containing 1200+ court reporters with variant forms. The library works\n * in degraded mode (pattern-based extraction only) if reporters are not loaded.\n *\n * @example\n * // Degraded mode: extraction works without reporter data\n * const citations = await extract(text)\n *\n * @example\n * // Full mode: load reporters for validation\n * await loadReporters()\n * const citations = await extract(text) // Now with reporter validation\n */\n\n/**\n * Edition entry from reporters-db\n *\n * Represents a specific edition of a reporter with start/end dates.\n */\nexport interface ReporterEdition {\n /** Start date in ISO 8601 format */\n start: string | null\n /** End date in ISO 8601 format (null if ongoing) */\n end: string | null\n}\n\n/**\n * Reporter entry from reporters-db\n *\n * Represents a single court reporter with all metadata needed for\n * citation validation and enrichment.\n *\n * Note: The reporters-db structure has the actual data; this interface\n * represents it flexibly to handle all variations in the JSON.\n */\nexport interface ReporterEntry {\n /** Full reporter name (e.g., \"Federal Reporter\") */\n name: string\n /** Citation type: state, federal, specialty, neutral, state_regional, etc. */\n cite_type: string\n /** Editions keyed by abbreviation (e.g., {\"F.2d\": {...}, \"F.3d\": {...}}) */\n editions: Record<string, ReporterEdition>\n /** Variant forms mapped to canonical form (e.g., {\"F. 2d\": \"F.2d\"}) */\n variations?: Record<string, string | undefined>\n /** MLZ jurisdiction identifiers (optional) */\n mlz_jurisdiction?: string[]\n /** Publisher (optional) */\n publisher?: string\n /** Notes (optional) */\n notes?: string\n}\n\n/**\n * In-memory reporter database with fast O(1) lookup\n *\n * Uses Map-based indexing for case-insensitive abbreviation lookup.\n * All variant forms are indexed to support fuzzy matching.\n */\nexport interface ReportersDatabase {\n /** Fast O(1) lookup by abbreviation (lowercase normalized keys) */\n byAbbreviation: Map<string, ReporterEntry[]>\n /** All reporters (for iteration/filtering) */\n all: ReporterEntry[]\n}\n\
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["_getReportersSync"],"sources":["../../src/data/reporters.ts"],"sourcesContent":["/**\n * Reporter database integration for citation validation\n *\n * This module provides lazy-loadable access to the reporters-db database,\n * containing 1200+ court reporters with variant forms. The library works\n * in degraded mode (pattern-based extraction only) if reporters are not loaded.\n *\n * @example\n * // Degraded mode: extraction works without reporter data\n * const citations = await extract(text)\n *\n * @example\n * // Full mode: load reporters for validation\n * await loadReporters()\n * const citations = await extract(text) // Now with reporter validation\n */\n\n/**\n * Edition entry from reporters-db\n *\n * Represents a specific edition of a reporter with start/end dates.\n */\nexport interface ReporterEdition {\n /** Start date in ISO 8601 format */\n start: string | null\n /** End date in ISO 8601 format (null if ongoing) */\n end: string | null\n}\n\n/**\n * Reporter entry from reporters-db\n *\n * Represents a single court reporter with all metadata needed for\n * citation validation and enrichment.\n *\n * Note: The reporters-db structure has the actual data; this interface\n * represents it flexibly to handle all variations in the JSON.\n */\nexport interface ReporterEntry {\n /** Full reporter name (e.g., \"Federal Reporter\") */\n name: string\n /** Citation type: state, federal, specialty, neutral, state_regional, etc. */\n cite_type: string\n /** Editions keyed by abbreviation (e.g., {\"F.2d\": {...}, \"F.3d\": {...}}) */\n editions: Record<string, ReporterEdition>\n /** Variant forms mapped to canonical form (e.g., {\"F. 2d\": \"F.2d\"}) */\n variations?: Record<string, string | undefined>\n /** MLZ jurisdiction identifiers (optional) */\n mlz_jurisdiction?: string[]\n /** Publisher (optional) */\n publisher?: string\n /** Notes (optional) */\n notes?: string\n}\n\n/**\n * In-memory reporter database with fast O(1) lookup\n *\n * Uses Map-based indexing for case-insensitive abbreviation lookup.\n * All variant forms are indexed to support fuzzy matching.\n */\nexport interface ReportersDatabase {\n /** Fast O(1) lookup by abbreviation (lowercase normalized keys) */\n byAbbreviation: Map<string, ReporterEntry[]>\n /** All reporters (for iteration/filtering) */\n all: ReporterEntry[]\n}\n\nimport {\n getReportersSync as _getReportersSync,\n setReportersCache,\n} from \"./reportersCache\"\n\n/**\n * Load reporter database asynchronously with lazy loading\n *\n * Dynamic import prevents loading 1200+ reporters until explicitly requested.\n * Result is cached after first load for subsequent calls.\n *\n * @returns Promise resolving to indexed reporter database\n *\n * @example\n * const db = await loadReporters()\n * const reporters = db.byAbbreviation.get('f.2d') // Fast O(1) lookup\n */\nexport async function loadReporters(): Promise<ReportersDatabase> {\n const existing = _getReportersSync()\n if (existing) return existing\n\n // Dynamic import prevents loading until requested (keeps core bundle small)\n const data = await import(\"../../data/reporters.json\", {\n assert: { type: \"json\" },\n })\n\n const byAbbreviation = new Map<string, ReporterEntry[]>()\n const all: ReporterEntry[] = []\n\n // reporters.json structure: { \"A.\": [...], \"F.2d\": [...], ... }\n const reportersData = (data.default || data) as Record<string, ReporterEntry[]>\n\n // Build fast lookup index with lowercase normalization\n for (const [_canonicalAbbr, reporters] of Object.entries(reportersData)) {\n for (const reporter of reporters) {\n all.push(reporter)\n\n // Index by all edition abbreviations\n for (const editionAbbr of Object.keys(reporter.editions)) {\n const key = editionAbbr.toLowerCase()\n if (!byAbbreviation.has(key)) {\n byAbbreviation.set(key, [])\n }\n byAbbreviation.get(key)?.push(reporter)\n }\n\n // Index all variations for fuzzy matching\n for (const [variant, _canonical] of Object.entries(reporter.variations || {})) {\n const variantKey = variant.toLowerCase()\n if (!byAbbreviation.has(variantKey)) {\n byAbbreviation.set(variantKey, [])\n }\n byAbbreviation.get(variantKey)?.push(reporter)\n }\n }\n }\n\n const db: ReportersDatabase = { byAbbreviation, all }\n setReportersCache(db)\n return db\n}\n\n/**\n * Get cached reporter database synchronously (degraded mode support)\n *\n * Returns null if reporters not loaded yet. This enables the library to\n * work in degraded mode without reporter validation.\n *\n * @returns Cached database or null if not loaded\n *\n * @example\n * const db = getReportersSync()\n * if (db) {\n * // Full mode: validate citations\n * } else {\n * // Degraded mode: extract without validation\n * }\n */\nexport function getReportersSync(): ReportersDatabase | null {\n return _getReportersSync()\n}\n\n/**\n * Find reporters by abbreviation (case-insensitive)\n *\n * Loads reporter database if not already loaded. Returns all reporters\n * matching the abbreviation (including variant forms).\n *\n * @param abbr - Reporter abbreviation to look up\n * @returns Promise resolving to matching reporters (empty array if none)\n *\n * @example\n * const reporters = await findReportersByAbbreviation('F.2d')\n * // [{ abbreviation: 'F.2d', name: 'Federal Reporter, Second Series', ... }]\n *\n * @example\n * const unknown = await findReportersByAbbreviation('NONEXISTENT')\n * // [] (empty array, not error)\n */\nexport async function findReportersByAbbreviation(abbr: string): Promise<ReporterEntry[]> {\n const db = await loadReporters()\n return db.byAbbreviation.get(abbr.toLowerCase()) ?? []\n}\n"],"mappings":"iFAqFA,eAAsB,GAA4C,CAChE,IAAM,EAAWA,GAAmB,CACpC,GAAI,EAAU,OAAO,EAGrB,IAAM,EAAO,MAAM,OAAO,4BAA6B,CACrD,OAAQ,CAAE,KAAM,OAAQ,CACzB,EAEK,EAAiB,IAAI,IACrB,EAAuB,EAAE,CAGzB,EAAiB,EAAK,SAAW,EAGvC,IAAK,GAAM,CAAC,EAAgB,KAAc,OAAO,QAAQ,EAAc,CACrE,IAAK,IAAM,KAAY,EAAW,CAChC,EAAI,KAAK,EAAS,CAGlB,IAAK,IAAM,KAAe,OAAO,KAAK,EAAS,SAAS,CAAE,CACxD,IAAM,EAAM,EAAY,aAAa,CAChC,EAAe,IAAI,EAAI,EAC1B,EAAe,IAAI,EAAK,EAAE,CAAC,CAE7B,EAAe,IAAI,EAAI,EAAE,KAAK,EAAS,CAIzC,IAAK,GAAM,CAAC,EAAS,KAAe,OAAO,QAAQ,EAAS,YAAc,EAAE,CAAC,CAAE,CAC7E,IAAM,EAAa,EAAQ,aAAa,CACnC,EAAe,IAAI,EAAW,EACjC,EAAe,IAAI,EAAY,EAAE,CAAC,CAEpC,EAAe,IAAI,EAAW,EAAE,KAAK,EAAS,EAKpD,IAAM,EAAwB,CAAE,iBAAgB,MAAK,CAErD,OADA,EAAkB,EAAG,CACd,EAmBT,SAAgB,GAA6C,CAC3D,OAAOA,GAAmB,CAoB5B,eAAsB,EAA4B,EAAwC,CAExF,OADW,MAAM,GAAe,EACtB,eAAe,IAAI,EAAK,aAAa,CAAC,EAAI,EAAE"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./knownCodes-CI-vnoBO.cjs`);function t(e){return e.type===`case`||e.type===`statute`||e.type===`journal`||e.type===`neutral`||e.type===`publicLaw`||e.type===`federalRegister`||e.type===`statutesAtLarge`||e.type===`constitutional`}function n(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function r(e){return e.type===`case`}function i(e,t){return e.type===t}function a(e){throw Error(`Unexpected value: ${e}`)}function o(e){return e.replace(/<[^>]+>/g,``)}function s(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]+/g,` `).replace(/ {2,}/g,` `)}function c(e){return e.normalize(`NFKC`)}function l(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function u(e){return e.replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function d(e){return e.replace(/§/gi,`§`).replace(/¶/gi,`¶`).replace(/&/gi,`&`).replace(/ /gi,` `).replace(/</gi,`<`).replace(/>/gi,`>`).replace(/"/gi,`"`).replace(/'/gi,`'`).replace(/&#(\d+);/g,(e,t)=>{let n=Number.parseInt(t,10);return Number.isNaN(n)?e:String.fromCharCode(n)}).replace(/&#x([0-9a-fA-F]+);/g,(e,t)=>{let n=Number.parseInt(t,16);return Number.isNaN(n)?e:String.fromCharCode(n)})}function f(e){let t=e;return t=t.replace(/\bU\.\s+S\./g,`U.S.`),t=t.replace(/\bS\.\s+Ct\./g,`S.Ct.`),t=t.replace(/\bL\.\s+Ed\./g,`L.Ed.`),t=t.replace(/\bF\.\s+Supp\./g,`F.Supp.`),t=t.replace(/\bF\.\s+(\d+[a-z]+)/g,`F.$1`),t=t.replace(/([A-Za-z])\.\s+(\d+[a-z]+)/g,`$1.$2`),t}function p(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var m=class e{constructor(e){this.segments=e}static identity(t){return new e([{cleanPos:0,origPos:0,len:t+1}])}static fromMap(t){if(t.size===0)return new e([]);let n=[...t.entries()].sort((e,t)=>e[0]-t[0]),r=[],i=n[0][0],a=n[0][1],o=1;for(let e=1;e<n.length;e++){let[t,s]=n[e],c=i+o,l=a+o;t===c&&s===l?o++:(r.push({cleanPos:i,origPos:a,len:o}),i=t,a=s,o=1)}return r.push({cleanPos:i,origPos:a,len:o}),new e(r)}lookup(e){let t=this.segments;if(t.length===0)return e;let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(e<a.cleanPos)r=i-1;else if(e>=a.cleanPos+a.len)n=i+1;else return a.origPos+(e-a.cleanPos)}let i=t[t.length-1];return i.origPos+(e-i.cleanPos)}};function h(e,t=[o,d,s,c,u,l,p,f]){let n=e,r=new Map,i=new Map;for(let t=0;t<=e.length;t++)r.set(t,t),i.set(t,t);for(let e of t){let t=n,a=e(n);if(t!==a){let{newCleanToOriginal:e,newOriginalToClean:o}=g(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:m.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function g(e,t,n,r){let i=new Map,a=new Map,o=0,s=0;for(;o<=e.length||s<=t.length;){if(o>=e.length&&s>=t.length){let e=n.get(o)??o;i.set(s,e),a.set(e,s);break}if(o>=e.length){let e=n.get(o)??o;i.set(s,e),s++;continue}if(s>=t.length){let e=n.get(o)??o;a.set(e,s),o++;continue}if(e[o]===t[s]){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++}else{let r=!1;for(let i=1;i<=20&&!(o+i>=e.length);i++)if(e[o+i]===t[s]){for(let e=0;e<i;e++){let t=n.get(o+e)??o+e;a.set(t,s)}o+=i,r=!0;break}if(r)continue;for(let a=1;a<=20&&!(s+a>=t.length);a++)if(e[o]===t[s+a]){let e=n.get(o)??o;for(let t=0;t<a;t++)i.set(s+t,e);s+=a,r=!0;break}if(r)continue;let c=n.get(o)??o;i.set(s,c),a.set(c,s),o++,s++}}return{newCleanToOriginal:i,newOriginalToClean:a}}var _=class{constructor(e){this.parent=Array.from({length:e},(e,t)=>t),this.rank=Array(e).fill(0)}find(e){let t=e;for(;this.parent[t]!==t;)this.parent[t]=this.parent[this.parent[t]],t=this.parent[t];return t}union(e,t){let n=this.find(e),r=this.find(t);if(n!==r){if(n>r){let e=n;n=r,r=e}this.parent[r]=n,this.rank[n]===this.rank[r]&&this.rank[n]++}}connected(e,t){return this.find(e)===this.find(t)}components(){let e=new Map;for(let t=0;t<this.parent.length;t++){let n=this.find(t),r=e.get(n);r||(r=[],e.set(n,r)),r.push(t)}return e}};function v(e,t,n){let r=/\blabel\s*=\s*["'](\d+)["']/.exec(e);if(r)return Number.parseInt(r[1],10);let i=/\bid\s*=\s*["'](?:fn|footnote)(\d+)["']/.exec(e);if(i)return Number.parseInt(i[1],10);let a=t.replace(/<[^>]*>/g,``),o=/^\s*(\d+)[.\s):]/.exec(a);return o?Number.parseInt(o[1],10):n+1}function y(e,t,n){let r=RegExp(`<${t}\\b[^>]*>`,`gi`),i=RegExp(`</${t}\\s*>`,`gi`);r.lastIndex=n,i.lastIndex=n;let a=1;for(;a>0;){let t=r.exec(e),n=i.exec(e);if(!n)return null;if(t&&t.index<n.index)a++,i.lastIndex=t.index+t[0].length;else{if(a--,a===0)return{contentEnd:n.index,tagEnd:n.index+n[0].length};r.lastIndex=n.index+n[0].length}}return null}function b(e){let t=[],n,r=RegExp(`<(footnote|fn)\\b[^>]*>|<(div|aside|section|p|span)\\b[^>]*(?:class\\s*=\\s*["'][^"']*\\bfootnote\\b[^"']*["']|id\\s*=\\s*["'](?:fn|footnote)\\d*["'])[^>]*>`,`gi`);for(;(n=r.exec(e))!==null;){let i=n[0],a=n.index+i.length,o=y(e,n[1]||n[2],a);if(!o)continue;let s=v(i,e.slice(a,o.contentEnd),t.length);t.push({start:a,end:o.contentEnd,footnoteNumber:s}),r.lastIndex=o.tagEnd}return t.sort((e,t)=>e.start-t.start)}const x=/^\s*[-_]{5,}\s*$/m;function S(e){let t=x.exec(e);if(!t)return[];let n=t.index+t[0].length,r=e.slice(n),i=RegExp(`^\\s*(?:FN\\s*(\\d+)[.\\s:)]|\\[(\\d+)\\]\\s|n\\.\\s*(\\d+)\\s|(\\d+)\\.\\s)`,`gm`),a=[],o;for(;(o=i.exec(r))!==null;){let e=o[1]||o[2]||o[3]||o[4];e&&a.push({index:o.index+n,footnoteNumber:Number.parseInt(e,10)})}if(a.length===0)return[];let s=[];for(let t=0;t<a.length;t++){let n=a[t].index,r=t+1<a.length?a[t+1].index:e.length;s.push({start:n,end:r,footnoteNumber:a[t].footnoteNumber})}return s}const C=/<[^>]+>/;function w(e){if(C.test(e)){let t=b(e);if(t.length>0)return t}return S(e)}function T(e,t,n,r=20){for(let i=1;i<=r;i++){let r=n===`forward`?e+i:e-i,a=t.get(r);if(a!==void 0)return a}}function E(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??T(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??T(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function D(e,t){if(t.length!==0)for(let n of e){let e=n.span.cleanStart,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>>1,o=t[a];if(e<o.start)i=a-1;else if(e>=o.end)r=a+1;else{n.inFootnote=!0,n.footnoteNumber=o.footnoteNumber;break}}}}function O(e,t){return t.cleanToOriginalSegments?{originalStart:t.cleanToOriginalSegments.lookup(e.cleanStart),originalEnd:t.cleanToOriginalSegments.lookup(e.cleanEnd)}:{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}const k={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,sept:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function A(e){let t=k[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}function j(e){let{year:t,month:n,day:r}=e;return n!==void 0&&r!==void 0?`${t}-${String(n).padStart(2,`0`)}-${String(r).padStart(2,`0`)}`:n===void 0?String(t):`${t}-${String(n).padStart(2,`0`)}`}function M(e){let t=e.match(/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)\.?\s+(\d{1,2}),?\s+(\d{4})\b/i);if(t){let e=A(t[1]),n=Number.parseInt(t[2],10),r={year:Number.parseInt(t[3],10),month:e,day:n};return{iso:j(r),parsed:r}}let n=e.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i);if(n){let e=A(n[1]),t=Number.parseInt(n[2],10),r={year:Number.parseInt(n[3],10),month:e,day:t};return{iso:j(r),parsed:r}}let r=e.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{4})\b/);if(r){let e=Number.parseInt(r[1],10),t=Number.parseInt(r[2],10),n={year:Number.parseInt(r[3],10),month:e,day:t};return{iso:j(n),parsed:n}}let i=e.match(/\b(\d{4})\b/);if(i){let e={year:Number.parseInt(i[1],10)};return{iso:j(e),parsed:e}}}function N(e){return{level:e,jurisdiction:`federal`,confidence:1}}function P(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function F(e){return{level:e,jurisdiction:`state`,confidence:.7}}const I=new Map([[`U.S.`,N(`supreme`)],[`S.Ct.`,N(`supreme`)],[`L.Ed.`,N(`supreme`)],[`L.Ed.2d`,N(`supreme`)],[`S. Ct.`,N(`supreme`)],[`L. Ed.`,N(`supreme`)],[`L. Ed. 2d`,N(`supreme`)],[`U. S.`,N(`supreme`)],[`L.Ed. 2d`,N(`supreme`)],[`L. Ed.2d`,N(`supreme`)],[`F.`,N(`appellate`)],[`F.2d`,N(`appellate`)],[`F.3d`,N(`appellate`)],[`F.4th`,N(`appellate`)],[`F. App'x`,N(`appellate`)],[`F.Supp.`,N(`trial`)],[`F.Supp.2d`,N(`trial`)],[`F.Supp.3d`,N(`trial`)],[`F.Supp.4th`,N(`trial`)],[`F. Supp.`,N(`trial`)],[`F. Supp. 2d`,N(`trial`)],[`F. Supp. 3d`,N(`trial`)],[`F. Supp. 4th`,N(`trial`)],[`F.R.D.`,N(`trial`)],[`B.R.`,N(`trial`)],[`Cal.`,P(`supreme`,`CA`)],[`Cal.2d`,P(`supreme`,`CA`)],[`Cal.3d`,P(`supreme`,`CA`)],[`Cal.4th`,P(`supreme`,`CA`)],[`Cal.5th`,P(`supreme`,`CA`)],[`Cal.App.`,P(`appellate`,`CA`)],[`Cal.App.2d`,P(`appellate`,`CA`)],[`Cal.App.3d`,P(`appellate`,`CA`)],[`Cal.App.4th`,P(`appellate`,`CA`)],[`Cal.App.5th`,P(`appellate`,`CA`)],[`Cal.Rptr.`,P(`unknown`,`CA`)],[`Cal.Rptr.2d`,P(`unknown`,`CA`)],[`Cal.Rptr.3d`,P(`unknown`,`CA`)],[`N.Y.`,P(`supreme`,`NY`)],[`N.Y.2d`,P(`supreme`,`NY`)],[`N.Y.3d`,P(`supreme`,`NY`)],[`A.D.`,P(`appellate`,`NY`)],[`A.D.2d`,P(`appellate`,`NY`)],[`A.D.3d`,P(`appellate`,`NY`)],[`Misc.`,P(`trial`,`NY`)],[`Misc.2d`,P(`trial`,`NY`)],[`Misc.3d`,P(`trial`,`NY`)],[`N.Y.S.`,P(`unknown`,`NY`)],[`N.Y.S.2d`,P(`unknown`,`NY`)],[`N.Y.S.3d`,P(`unknown`,`NY`)],[`Ill.`,P(`supreme`,`IL`)],[`Ill.2d`,P(`supreme`,`IL`)],[`Ill.App.`,P(`appellate`,`IL`)],[`Ill.App.2d`,P(`appellate`,`IL`)],[`Ill.App.3d`,P(`appellate`,`IL`)],[`Ill.Dec.`,P(`unknown`,`IL`)],[`Ohio St.`,P(`supreme`,`OH`)],[`Ohio St.2d`,P(`supreme`,`OH`)],[`Ohio St.3d`,P(`supreme`,`OH`)],[`Ohio App.3d`,P(`appellate`,`OH`)],[`Pa.`,P(`supreme`,`PA`)],[`Pa. Super.`,P(`appellate`,`PA`)],[`Tex.`,P(`supreme`,`TX`)],[`Fla.`,P(`supreme`,`FL`)],[`Mass.`,P(`supreme`,`MA`)],[`Mass. App. Ct.`,P(`appellate`,`MA`)],[`A.`,F(`unknown`)],[`A.2d`,F(`unknown`)],[`A.3d`,F(`unknown`)],[`S.E.`,F(`unknown`)],[`S.E.2d`,F(`unknown`)],[`S.E.3d`,F(`unknown`)],[`S.W.`,F(`unknown`)],[`S.W.2d`,F(`unknown`)],[`S.W.3d`,F(`unknown`)],[`N.E.`,F(`unknown`)],[`N.E.2d`,F(`unknown`)],[`N.E.3d`,F(`unknown`)],[`N.W.`,F(`unknown`)],[`N.W.2d`,F(`unknown`)],[`N.W.3d`,F(`unknown`)],[`So.`,F(`unknown`)],[`So.2d`,F(`unknown`)],[`So.3d`,F(`unknown`)],[`P.`,F(`unknown`)],[`P.2d`,F(`unknown`)],[`P.3d`,F(`unknown`)]]);function ee(e){return I.get(e)}const L=/^(?:at\s+)?(\d+)(?:[-–—](\d+))?\s*(?:(?:n|note)\s*\.?\s*(\d+))?$/i;function R(e){let t=e.trim();if(!t)return null;let n=L.exec(t);if(!n)return null;let r=Number.parseInt(n[1],10),i=n[2],a=n[3],o,s=!1;if(i){s=!0;let e=Number.parseInt(i,10);if(i.length<n[1].length){let e=n[1].slice(0,n[1].length-i.length);o=Number.parseInt(e+i,10)}else o=e}let c=a?Number.parseInt(a,10):void 0,l={page:r,isRange:s,raw:t};return o!==void 0&&(l.endPage=o),c!==void 0&&(l.footnote=c),l}function te(e){if(!e||!e.trim())return;let t=e.trim();return t=t.replace(/\.\s+(?=[A-Za-z])/g,`.`),/[A-Za-z]$/.test(t)&&(/\./.test(t)||/^\d+\w*\s+[A-Z]/i.test(t))&&(t+=`.`),t}const ne=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`]);function re(e){let t=Number.parseInt(e,10);return String(t)===e?t:e}const z=/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec|January|February|March|April|May|June|July|August|September|October|November|December)\.?/,ie=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s']+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+|_{3,}|-{3,})/,ae=/^[_-]{3,}$/,oe=/,\s*(\d+)/,se=/\(([^)]+)\)/,ce=/^(?:,\s*\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,le=/^,\s*(\d+(?:-\d+)?)/,ue=/\d\.\s+/g,de=/[\s,]/,fe=[[/^aff'?d\s+on\s+other\s+grounds\b/i,`affirmed`],[/^affirmed\s+on\s+other\s+grounds\b/i,`affirmed`],[/^aff'?d\b/i,`affirmed`],[/^affirmed\b/i,`affirmed`],[/^rev'?d\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\s+on\s+other\s+grounds\b/i,`reversed`],[/^reversed\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\b/i,`reversed`],[/^reversed\b/i,`reversed`],[/^certiorari\s+denied\b/i,`cert_denied`],[/^cert\.\s*den(ied|\.)(?=[\s,;(]|$)/i,`cert_denied`],[/^certiorari\s+granted\b/i,`cert_granted`],[/^cert\.\s*granted\b/i,`cert_granted`],[/^overruled\s+by\b/i,`overruled`],[/^overruled\s+in\b/i,`overruled`],[/^overruling\b/i,`overruled`],[/^overruled\b/i,`overruled`],[/^vacated\s+by\b/i,`vacated`],[/^vacated\b/i,`vacated`],[/^remanded\s+for\s+reconsideration\b/i,`remanded`],[/^remanded\b/i,`remanded`],[/^modified\s+by\b/i,`modified`],[/^modified\b/i,`modified`],[/^abrogated\s+by\b/i,`abrogated`],[/^abrogated\s+in\b/i,`abrogated`],[/^abrogated\b/i,`abrogated`],[/^superseded\s+by\b/i,`superseded`],[/^superseded\b/i,`superseded`],[/^disapproved\s+of\b/i,`disapproved`],[/^disapproved\b/i,`disapproved`],[/^questioned\s+by\b/i,`questioned`],[/^questioned\b/i,`questioned`],[/^distinguished\s+by\b/i,`distinguished`],[/^distinguished\b/i,`distinguished`],[/^withdrawn\b/i,`withdrawn`],[/^reinstated\b/i,`reinstated`]];function pe(e){for(let[t,n]of fe){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const me=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function he(e){return me.has(e)}const ge=/^([a-z]+)\b/i,_e=/([A-Z][A-Za-z0-9\s.,'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9\s.,'&()/-]+?)\s*,\s*$/,ve=/\b(In re|Ex parte|Matter of|Estate of|State ex rel\.|United States ex rel\.|Application of|Petition of)\s+([A-Za-z0-9\s.,'&()/-]+?)\s*,\s*$/i;function ye(e){let t=e.replace(/\s*\d{1,2}\/\d{1,2}\/\d{4}\s*$/,``).trim();return t=t.replace(/\s*\d{4}\s*$/,``).trim(),t=t.replace(/\s*,?\s*\d{1,2}\s*,?\s*$/,``).trim(),t=t.replace(RegExp(`\\s*${z.source}\\s*$`,`i`),``).trim(),t=t.replace(/,\s*$/,``).trim(),t&&/[A-Za-z]/.test(t)?t:void 0}function be(e,t,n=150){let r=Math.max(0,t-n),i=e.substring(r,t),a=r,o=-1,s;for(;(s=ue.exec(i))!==null;)o=s.index+s[0].length;let c=/\b(?:v|vs|Inc|Corp|Ltd|Co|Cir|App|Ct|Supp|Dist|Rev|Stat|Gen|No|ed|Jr|Sr|Dr|Mr|Mrs|Ms|Prof|St|Dep|Auth|Ass|Comm)\.\s+$/i,l=/[.)]\s+(?=[A-Z])/g;for(;(s=l.exec(i))!==null;){let e=i.substring(Math.max(0,s.index-15),s.index+2);if(c.test(e))continue;let t=s.index+s[0].length;t>o&&(o=t)}o!==-1&&(i=i.substring(o),a=r+o);let u=_e.exec(i);if(u&&!u[0].includes(`;`))return{caseName:`${u[1].trim()} v. ${u[2].trim()}`,nameStart:a+u.index};let d=ve.exec(i);if(d&&!d[0].includes(`;`))return{caseName:`${d[1]} ${d[2].trim()}`,nameStart:a+d.index}}function xe(e,t,n=500){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s;for(;a<o;){for(;a<o&&de.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=pe(t);if(n){s={text:t.substring(0,n.matchLength).replace(/\s+$/,``),normalized:n.signal,start:a,end:a+n.matchLength},a+=n.matchLength;continue}break}let t=a,n=0,c=a+1;for(;a<o;){let o=e[a];if(o===`(`)n++;else if(o===`)`&&(n--,n===0)){a++;let n=e.substring(c,a-1).trim();n.length>0&&(r.push({text:n,start:t,end:a}),s&&=(i.push({signal:s,nextParenIndex:r.length-1}),void 0));break}a++}if(n>0)break}return s&&i.push({signal:s,nextParenIndex:-1}),{parens:r,signals:i}}function B(e){let t={},n=M(e);n&&(t.date=n,t.year=n.parsed.year);let r=ye(e);return r&&(t.court=r),/\ben banc\b/i.test(e)?t.disposition=`en banc`:/\bper curiam\b/i.test(e)&&(t.disposition=`per curiam`),t}function Se(e){let t=ge.exec(e);if(t){let n=t[1].toLowerCase();if(he(n))return{kind:`explanatory`,text:e,type:n}}let n=B(e);return n.year||n.date||n.disposition?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function V(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+d\/b\/a\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t=t.replace(/^(The|A|An)\s+/i,``),t=t.replace(/\s+/g,` `),t.trim().toLowerCase()}function Ce(e){let t;for(let t of[`In re`,`Ex parte`,`Matter of`,`State ex rel.`,`United States ex rel.`,`Application of`,`Petition of`,`Estate of`]){let n=RegExp(`^(${t})\\s+(.+)$`,`i`).exec(e);if(n){let t=n[1],r=n[2];if(/\s+v\.?\s+/i.test(r)){let t=/^(.+?)\s+v\.?\s+(.+)$/i.exec(e);if(t){let e=t[1].trim(),n=t[2].trim();return{plaintiff:e,plaintiffNormalized:V(e),defendant:n,defendantNormalized:V(n)}}}else return{plaintiff:e,plaintiffNormalized:V(r),proceduralPrefix:t}}}let n=/^(.+?)\s+v\.?\s+(.+)$/i.exec(e);if(n){let e=n[1].trim(),r=n[2].trim(),i=e.match(/^(See\s+[Aa]lso|See\s+[Gg]enerally|But\s+[Ss]ee|But\s+[Cc]f\.?|Compare|Accord|Contra|See|Cf\.?|Also|In(?!\s+re\b))\s+/i);if(i){let n=i[1].toLowerCase().replace(/\.$/,``);n!==`in`&&n!==`also`&&(t=ne.has(n)?n:void 0),e=e.substring(i[0].length).trim()}return{plaintiff:e||n[1].trim(),plaintiffNormalized:V(e||n[1].trim()),defendant:r,defendantNormalized:V(r),signal:t}}return{}}function we(e,t,n){let{text:r,span:i}=e,a=ie.exec(r);if(!a)throw Error(`Failed to parse case citation: ${r}`);let o=re(a[1]),s=a[2].trim(),c=a[3]?Number.parseInt(a[3],10):void 0,l=a[4]||void 0,u=a[5],d=ae.test(u),f=d?void 0:Number.parseInt(u,10),p=d?!0:void 0,m=oe.exec(r),h=m?Number.parseInt(m[1],10):void 0,g=m?R(m[1])??void 0:void 0,_,v,y,b,x,S,C,w=se.exec(r);if(w&&!c){C=w[1];let e=B(C);_=e.year,v=e.court,y=e.date,b=e.disposition}if(n&&!C){let e=n.substring(i.cleanEnd),t=ce.exec(e);if(t){C=t[1];let n=B(C);if(_=n.year,v=n.court,y=n.date,b=n.disposition,h===void 0){let t=le.exec(e);t&&(h=Number.parseInt(t[1],10),g||=R(t[1])??void 0)}}}let T,E,D;if(n){D=xe(n,i.cleanEnd),E=D.parens;let e=C?E.slice(1):E;for(let t of e){let e=Se(t.text);e.kind===`metadata`?(e.court&&(!v||v===b)&&(v=e.court),e.year&&!_&&(_=e.year,y=e.date),e.disposition&&!b&&(b=e.disposition)):(T??=[],T.push({text:e.text,type:e.type}))}}let k;if(n&&D&&D.signals.length>0)for(let e=0;e<D.signals.length;e++){let{signal:n}=D.signals[e];k??=[];let{originalStart:r,originalEnd:i}=O({cleanStart:n.start,cleanEnd:n.end},t);k.push({signal:n.normalized,rawSignal:n.text,signalSpan:{cleanStart:n.start,cleanEnd:n.end,originalStart:r,originalEnd:i},order:e})}let A=ee(s);if(!v&&A?.level===`supreme`&&A?.jurisdiction===`federal`&&(v=`scotus`),n){let e=be(n,i.cleanStart);if(e){x=e.caseName;let n=E&&E.length>0?E[E.length-1].end:i.cleanEnd,r=e.nameStart,a=n;S={cleanStart:r,cleanEnd:a,originalStart:t.cleanToOriginal.get(r)??r,originalEnd:t.cleanToOriginal.get(a)??a}}}let j,M,N,P,F,I;if(x){let e=Ce(x);j=e.plaintiff,M=e.plaintiffNormalized,N=e.defendant,P=e.defendantNormalized,F=e.proceduralPrefix,I=e.signal}let{originalStart:L,originalEnd:ne}=O(i,t),z=.5;if(`F.,F.2d,F.3d,F.4th,U.S.,S. Ct.,L. Ed.,P.,P.2d,P.3d,A.,A.2d,A.3d,N.E.,N.E.2d,N.E.3d,N.W.,N.W.2d,S.E.,S.E.2d,S.W.,S.W.2d,S.W.3d,So.,So. 2d,So. 3d`.split(`,`).some(e=>s.includes(e))&&(z+=.3),_!==void 0){let e=new Date().getFullYear();_<=e&&(z+=.2)}return z=Math.min(z,1),p&&(z=.8),{type:`case`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:L,originalEnd:ne},confidence:z,matchedText:r,processTimeMs:0,patternsChecked:1,volume:o,reporter:s,page:f,nominativeVolume:c,nominativeReporter:l,pincite:h,pinciteInfo:g,court:v,normalizedCourt:te(v),year:_,hasBlankPage:p,date:y,fullSpan:S,caseName:x,disposition:b,parentheticals:T,subsequentHistoryEntries:k,plaintiff:j,plaintiffNormalized:M,defendant:N,defendantNormalized:P,proceduralPrefix:F,inferredCourt:A,signal:I}}const H=`${String.raw`(?:art(?:icle)?\.?|amend(?:ment)?\.?)\s+([IVX]+|\d+)`}${String.raw`(?:[,;]\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]\s*cl\.?\s*(\d+))?`}`,Te=new RegExp(H,`i`),Ee=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?)\s+${H}`,`gi`),description:`U.S. Constitution citations (e.g., "U.S. Const. art. III, § 2", "U.S. Const. amend. XIV")`,type:`constitutional`},{id:`state-constitution`,regex:new RegExp(String.raw`\b(?:Ala|Alaska|Ariz|Ark|Cal(?:if)?|Colo|Conn|Del|Fla|Ga|Haw|Idaho|Ill|Ind|Iowa|Kan|Ky|La|Me|Md|Mass|Mich|Minn|Miss|Mo|Mont|Neb|Nev|N\.?\s*H|N\.?\s*J|N\.?\s*M|N\.?\s*Y|N\.?\s*C|N\.?\s*D|Ohio|Okla|Or(?:e)?|Pa|R\.?\s*I|S\.?\s*C|S\.?\s*D|Tenn|Tex|Utah|Vt|W\.?\s*Va|Va|Wash|Wis|Wyo)\.?\s+Const\.?\s+${H}`,`gi`),description:`State constitution citations (e.g., "Cal. Const. art. I, § 7", "N.Y. Const. art. VI, § 20")`,type:`constitutional`},{id:`bare-constitution`,regex:new RegExp(String.raw`(?<!\.\s)(?<![A-Z]\s)\bConst\.?\s+${H}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`}],De={I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9,X:10,XI:11,XII:12,XIII:13,XIV:14,XV:15,XVI:16,XVII:17,XVIII:18,XIX:19,XX:20,XXI:21,XXII:22,XXIII:23,XXIV:24,XXV:25,XXVI:26,XXVII:27};function Oe(e){let t=e.toUpperCase();if(t in De)return De[t];let n=Number.parseInt(e,10);return Number.isNaN(n)?void 0:n}const ke={ala:`AL`,alaska:`AK`,ariz:`AZ`,ark:`AR`,cal:`CA`,calif:`CA`,colo:`CO`,conn:`CT`,del:`DE`,fla:`FL`,ga:`GA`,haw:`HI`,idaho:`ID`,ill:`IL`,ind:`IN`,iowa:`IA`,kan:`KS`,ky:`KY`,la:`LA`,me:`ME`,md:`MD`,mass:`MA`,mich:`MI`,minn:`MN`,miss:`MS`,mo:`MO`,mont:`MT`,neb:`NE`,nev:`NV`,"n.h":`NH`,"n.j":`NJ`,"n.m":`NM`,"n.y":`NY`,"n.c":`NC`,"n.d":`ND`,ohio:`OH`,okla:`OK`,or:`OR`,ore:`OR`,pa:`PA`,"r.i":`RI`,"s.c":`SC`,"s.d":`SD`,tenn:`TN`,tex:`TX`,utah:`UT`,vt:`VT`,va:`VA`,wash:`WA`,"w.va":`WV`,wis:`WI`,wyo:`WY`},Ae=/amend/i,je=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s+Const/i;function Me(e){let t=je.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in ke)return ke[n]}function Ne(e,t){let{text:n,span:r}=e,i=Te.exec(n),a,o,s,c;if(i){let e=Oe(i[1]);Ae.test(i[0])?o=e:a=e,s=i[2]||void 0,c=i[3]?Number.parseInt(i[3],10):void 0}let l;switch(e.patternId){case`us-constitution`:l=`US`;break;case`state-constitution`:l=Me(n);break;default:l=void 0;break}let{originalStart:u,originalEnd:d}=O(r,t),f;f=e.patternId===`bare-constitution`?.7:s?.95:.9;let p=n.endsWith(`.`)?n.slice(0,-1):n;return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:f,matchedText:p,processTimeMs:0,patternsChecked:1,jurisdiction:l,article:a,amendment:o,section:s,clause:c}}function U(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse Federal Register citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=Number.parseInt(i[2],10),c=/\((?:.*?\s)?(\d{4})\)/.exec(n),l=c?Number.parseInt(c[1],10):void 0,{originalStart:u,originalEnd:d}=O(r,t);return{type:`federalRegister`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,page:s,year:l}}function W(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+([A-Za-z.\s]+?)\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse journal citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=i[2].trim(),c=Number.parseInt(i[3],10),l=/,\s*(\d+)/.exec(n),u=l?Number.parseInt(l[1],10):void 0,{originalStart:d,originalEnd:f}=O(r,t);return{type:`journal`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:.6,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,journal:s,abbreviation:s,page:c,pincite:u}}function G(e,t){let{text:n,span:r}=e,i=/^(\d{4})\s+(.+?)\s+(\d+)$/.exec(n);if(!i)throw Error(`Failed to parse neutral citation: ${n}`);let a=Number.parseInt(i[1],10),o=i[2],s=i[3],{originalStart:c,originalEnd:l}=O(r,t);return{type:`neutral`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:1,matchedText:n,processTimeMs:0,patternsChecked:1,year:a,court:o,documentNumber:s}}function K(e,t){let{text:n,span:r}=e,i=/Pub\.\s?L\.(?:\s?No\.)?\s?(\d+)-(\d+)/.exec(n);if(!i)throw Error(`Failed to parse public law citation: ${n}`);let a=Number.parseInt(i[1],10),o=Number.parseInt(i[2],10),{originalStart:s,originalEnd:c}=O(r,t);return{type:`publicLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:s,originalEnd:c},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,congress:a,lawNumber:o}}function Pe(e,t){let{text:n,span:r}=e,i=/[Ii](?:d|bid)\.(?:,?\s+at\s+(\d+(?:\s*[-–]\s*\d+)?))?/.exec(n);if(!i)throw Error(`Failed to parse Id. citation: ${n}`);let a=i[1]?Number.parseInt(i[1],10):void 0,{originalStart:o,originalEnd:s}=O(r,t);return{type:`id`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:o,originalEnd:s},confidence:1,matchedText:n,processTimeMs:0,patternsChecked:1,pincite:a}}function Fe(e,t){let{text:n,span:r}=e,i=/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:,?\s+at\s+(\d+))?/.exec(n);if(!i)throw Error(`Failed to parse supra citation: ${n}`);let a=i[1],o=i[3]?Number.parseInt(i[3],10):void 0,{originalStart:s,originalEnd:c}=O(r,t);return{type:`supra`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:s,originalEnd:c},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,partyName:a,pincite:o}}function Ie(e,t){let{text:n,span:r}=e,i=/(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s+at\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse short-form case citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=i[2].trim(),c=Number.parseInt(i[3],10),{originalStart:l,originalEnd:u}=O(r,t);return{type:`shortFormCase`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:.7,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,reporter:s,pincite:c}}const Le=/^([^(]+?)\s*((?:\([^)]*\))*)$/,Re=/\s*et\s+seq\.?\s*$/i;function q(e){let t=e.replace(Re,``),n=t!==e,r=t.trim(),i=Le.exec(r),a=i?.[2];return i!==null&&a?{section:i[1].trim(),subsection:a,hasEtSeq:n}:{section:r,hasEtSeq:n}}const ze=/^(?:(\d+)\s+)?(.+?)\s*§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/;function Be(t,n){let{text:r,span:i}=t,a=ze.exec(r),o,s,c;a?(o=a[1]?Number.parseInt(a[1],10):void 0,s=a[2].trim(),c=a[3]):(s=r,c=``);let l=e.n(s),u=l?.jurisdiction,d=s,{section:f,subsection:p,hasEtSeq:m}=q(c),{originalStart:h,originalEnd:g}=O(i,n),_=r.includes(`§`),v;return v=l&&_?.95:l?.85:_?.6:.4,o!==void 0&&(v+=.05),p&&(v+=.05),v=Math.min(v,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:v,matchedText:r,processTimeMs:0,patternsChecked:1,title:o,code:d,section:f,subsection:p,pincite:p,jurisdiction:u,hasEtSeq:m||void 0}}const Ve=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(.+)$/;function He(e,t){let{text:n,span:r}=e,i=Ve.exec(n),a,o,s;i?(a=Number.parseInt(i[1],10),o=i[2],s=i[3]):(o=n,s=``);let{section:c,subsection:l,hasEtSeq:u}=q(s),{originalStart:d,originalEnd:f}=O(r,t),p=i?.95:.3;return l&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c,subsection:l,pincite:l,jurisdiction:i?`IL`:void 0,hasEtSeq:u||void 0}}const Ue=/^(\d+)\s+(\S+(?:\.\S+)*)\s*§§?\s*(.+)$/,We=/^(\d+)\s+(\S+(?:\.\S+)*)\s+(?:Part|pt\.)\s+(.+)$/;function Ge(e,t){let{text:n,span:r}=e,i=Ue.exec(n)??We.exec(n),a,o,s;i?(a=Number.parseInt(i[1],10),o=i[2],s=i[3]):(o=e.patternId===`cfr`?`C.F.R.`:`U.S.C.`,s=n,a=void 0);let{section:c,subsection:l,hasEtSeq:u}=q(s),{originalStart:d,originalEnd:f}=O(r,t),p=.95;return a!==void 0&&(p+=.05),l&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c,subsection:l,pincite:l,jurisdiction:`US`,hasEtSeq:u||void 0}}const Ke=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/s,qe=/^(.*?)\s+(?:ch\.?|c\.?)\s*(\w+),?\s*§\s*(.+)$/,Je={"n.y.":`NY`,"n.y":`NY`,ny:`NY`,"cal.":`CA`,cal:`CA`,"california.":`CA`,california:`CA`,"tex.":`TX`,tex:`TX`,"texas.":`TX`,texas:`TX`,"md.":`MD`,md:`MD`,"va.":`VA`,va:`VA`,"ala.":`AL`,ala:`AL`,"alabama.":`AL`,alabama:`AL`};function Ye(e){return Je[e.toLowerCase().replace(/\s+/g,``)]}function Xe(e){return e.replace(/^\s*Code\s+Ann\.\s*,\s*/i,``).replace(/^\s*Code\s*,\s*/i,``).replace(/\s+Code\s*$/i,``).replace(/\s+Ann\.?\s*$/i,``).replace(/,\s*$/,``).trim()}function Ze(t,n){let{text:r,span:i}=t,a,o,s;if(t.patternId===`mass-chapter`){let e=qe.exec(r);e?(a=`MA`,o=e[2],s=e[3]):(o=r,s=``)}else{let t=Ke.exec(r);if(t){a=Ye(t[1]);let n=t[2],r=Xe(n);o=a&&e.r(a,r)?r:n.trim(),s=t[3]}else o=r,s=``}let{section:c,subsection:l,hasEtSeq:u}=q(s),{originalStart:d,originalEnd:f}=O(i,n),p=a?.95:.5;return l&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:d,originalEnd:f},confidence:p,matchedText:r,processTimeMs:0,patternsChecked:1,code:o,section:c,subsection:l,pincite:l,jurisdiction:a,hasEtSeq:u||void 0}}const Qe=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/;function $e(e,t){let{text:n,span:r}=e,i=Qe.exec(n),a,o,s;i?(a=i[1],o=i[2]||void 0,s=Number.parseInt(i[3],10)):a=n;let{originalStart:c,originalEnd:l}=O(r,t),u=.85;return s!==void 0&&(u+=.05),o&&(u+=.05),u=Math.min(u,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:u,matchedText:n,processTimeMs:0,patternsChecked:1,title:s,code:`U.S.C.`,section:a,subsection:o,pincite:o,jurisdiction:`US`}}function et(e,t){let{text:n,span:r}=e,i=/^(?:(\d+)\s+)?([A-Za-z.\s]+?)\s*§+\s*(\d+[A-Za-z0-9-]*)/.exec(n);if(!i){let{originalStart:e,originalEnd:i}=O(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:e,originalEnd:i},confidence:.3,matchedText:n,processTimeMs:0,patternsChecked:1,code:n,section:``}}let a=i[1]?Number.parseInt(i[1],10):void 0,o=i[2].trim(),s=i[3],{originalStart:c,originalEnd:l}=O(r,t),u=.5;return[`U.S.C.`,`C.F.R.`,`Cal. Civ. Code`,`Cal. Penal Code`,`N.Y. Civ. Prac. L. & R.`,`Tex. Civ. Prac. & Rem. Code`].some(e=>o.includes(e))&&(u+=.3),u=Math.min(u,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:u,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:s}}function J(e,t){switch(e.patternId){case`usc`:case`cfr`:return Ge(e,t);case`prose`:return $e(e,t);case`abbreviated-code`:return Be(e,t);case`named-code`:case`mass-chapter`:return Ze(e,t);case`chapter-act`:return He(e,t);default:return et(e,t)}}function tt(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse Statutes at Large citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=Number.parseInt(i[2],10),c=/\((?:.*?\s)?(\d{4})\)/.exec(n),l=c?Number.parseInt(c[1],10):void 0,{originalStart:u,originalEnd:d}=O(r,t);return{type:`statutesAtLarge`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,page:s,year:l}}const Y=[{id:`federal-reporter`,regex:/\b(\d+(?:-\d+)?)\s+(F\.|F\.2d|F\.3d|F\.4th|F\.\s?Supp\.|F\.\s?Supp\.\s?2d|F\.\s?Supp\.\s?3d|F\.\s?Supp\.\s?4th|F\.\s?App'x)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`Federal Reporter (F., F.2d, F.3d, F.4th, F.Supp., F.App'x, etc.)`,type:`case`},{id:`supreme-court`,regex:/\b(\d+(?:-\d+)?)\s+(U\.\s?S\.|S\.\s?Ct\.|L\.\s?Ed\.(?:\s?2d)?)\s+(?:\(\d+\s+[A-Z][A-Za-z.]+\)\s+)?(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`U.S. Supreme Court reporters (with optional nominative reporter parenthetical)`,type:`case`},{id:`state-reporter`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z](?:(?! L\.[JQR\s])[A-Za-z.\d\s])+?)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`State reporters (broad pattern allowing multi-word reporters, excludes journal patterns with " L.J/Q/Rev", validated against reporters-db in Phase 3)`,type:`case`}],nt=[{id:`law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.\s]+)\s+(\d+)\b/g,description:`Law review citations (e.g., "120 Harv. L. Rev. 500"), validated against journals-db in Phase 3`,type:`journal`}],rt=[{id:`state-vendor-neutral`,regex:/\b(\d{4})\s+([A-Z]{2}(?:\s+App\.?)?)\s+(\d+)\b/g,description:`State vendor-neutral citations (e.g., "2007 UT 49", "2017 WI 17", "2013 IL 112116")`,type:`neutral`},{id:`westlaw`,regex:/\b(\d{4})\s+WL\s+(\d+)\b/g,description:`WestLaw citations (e.g., "2021 WL 123456")`,type:`neutral`},{id:`lexis`,regex:/\b(\d{4})\s+U\.S\.(?:\s+(?:App|Dist)\.)?\s+LEXIS\s+(\d+)\b/g,description:`LexisNexis citations (e.g., "2021 U.S. LEXIS 5000", "2021 U.S. App. LEXIS 12345", "2021 U.S. Dist. LEXIS 67890")`,type:`neutral`},{id:`public-law`,regex:/\bPub\.\s?L\.(?:\s?No\.)?\s?(\d+-\d+)\b/g,description:`Public Law citations (e.g., "Pub. L. No. 117-58" or "Pub. L. 116-283")`,type:`publicLaw`},{id:`federal-register`,regex:/\b(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)\b/g,description:`Federal Register citations (e.g., "86 Fed. Reg. 12345")`,type:`federalRegister`},{id:`statutes-at-large`,regex:/\b(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)\b/g,description:`Statutes at Large citations (e.g., "124 Stat. 119")`,type:`statutesAtLarge`},{id:`compact-law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.]+L\.(?:Rev|J|Q)\.)\s+(\d+)\b/g,description:`Compact law review citations without spaces (e.g., "93 Harv.L.Rev. 752")`,type:`journal`}],it=[{id:`id`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]d\.(?:,?\s+at\s+(\d+(?:\s*[-–]\s*\d+)?))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]bid\.(?:,?\s+at\s+(\d+(?:\s*[-–]\s*\d+)?))?/g,description:`Ibid. citations (e.g., "Ibid." or "Ibid. at 125")`,type:`case`},{id:`supra`,regex:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:,?\s+at\s+(\d+))?/g,description:`Supra citations (e.g., "Smith, supra" or "Smith, supra, at 460")`,type:`case`},{id:`shortFormCase`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s+at\s+(\d+)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],at=[{id:`usc`,regex:/\b(\d+)\s+(?:U\.S\.C\.?|USC)\s*§§?\s*(\d+[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`U.S. Code citations with optional subsections and et seq. (e.g., "42 U.S.C. § 1983(a)(1) et seq.")`,type:`statute`},{id:`cfr`,regex:/\b(\d+)\s+C\.?F\.?R\.?\s*(?:(?:Part|pt\.)\s+|§§?\s*)(\d+(?:\.\d+)?[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Code of Federal Regulations with Part or §, subsections, et seq. (e.g., "12 C.F.R. Part 226", "40 C.F.R. § 122.26(b)(14)")`,type:`statute`},{id:`prose`,regex:/\b[Ss]ection\s+(\d+[A-Za-z0-9-]*(?:\([^)]*\))*)\s+of\s+title\s+(\d+)\b/g,description:`Prose-form federal citations (e.g., "section 1983 of title 42"). Note: MD-style "section X of the Y Article" deferred to PR 3.`,type:`statute`},{id:`named-code`,regex:/\b(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+((?:[A-Za-z.&',\s]+?))\s*§§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Named-code state citations (NY, CA, TX, MD, VA, AL) with jurisdiction prefix + code name + §`,type:`statute`},{id:`mass-chapter`,regex:/\b(Mass\.?\s*Gen\.?\s*Laws|M\.?G\.?L\.?A?\.?|A\.?L\.?M\.?|G\.?\s*L\.?)\s+(?:ch\.?|c\.?)\s*(\w+),?\s*§\s*([\w./-]+(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Massachusetts chapter-based citations (e.g., "Mass. Gen. Laws ch. 93A, § 2")`,type:`statute`},{id:`chapter-act`,regex:/\b(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/([^\s(]+(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Compiled Statutes chapter-act citations (e.g., "735 ILCS 5/2-1001")`,type:`statute`},{id:`abbreviated-code`,regex:/\b(?:(\d+)\s+)?(Fla\.?\s*Stat(?:utes)?\.?(?:\s*Ann\.?)?|F\.?S\.?|R\.?C\.?|O\.?R\.?C\.?|Ohio\s+Rev\.?\s+Code(?:\s+Ann\.?)?|MCL[AS]?|M\.?C\.?L\.?|Mich\.?\s+Comp\.?\s+Laws(?:\s+(?:Ann|Serv)\.?)?|Utah\s+Code(?:\s+Ann\.?)?|U\.?C\.?A\.?|C\.?R\.?S\.?|Colo\.?\s+Rev\.?\s+Stat\.?(?:\s+Ann\.?)?|RCW|Wash\.?\s+Rev\.?\s+Code(?:\s+Ann\.?)?|G\.?S\.?|N\.?C\.?\s*Gen\.?\s*Stat\.?(?:\s+Ann\.?)?|N\.?C\.?G\.?S\.?|O\.?C\.?G\.?A\.?|Ga\.?\s+Code(?:\s+Ann\.?)?|Pa\.?\s*C\.?S\.?A?\.?|Pa\.?\s+Cons\.?\s+Stat\.?|P\.?S\.?|Ind(?:iana)?\.?\s+Code(?:\s+Ann\.?)?|Burns\s+Ind\.?\s+Code(?:\s+Ann\.?)?|I\.?C\.?|N\.?J\.?\s*S(?:tat)?\.?\s*A?\.?|Del\.?\s*(?:Code(?:\s+Ann\.?)?|C\.?))\s*§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Abbreviated state code citations for 12 jurisdictions (FL, OH, MI, UT, CO, WA, NC, GA, PA, IN, NJ, DE)`,type:`statute`}];function ot(e,t=[...Y,...at,...nt,...rt,...it]){let n=[];for(let r of t)try{let t=e.matchAll(r.regex);for(let e of t)n.push({text:e[0],span:{cleanStart:e.index,cleanEnd:e.index+e[0].length},type:r.type,patternId:r.id})}catch(e){console.warn(`Pattern ${r.id} threw error, skipping:`,e instanceof Error?e.message:String(e))}return n.sort((e,t)=>e.span.cleanStart-t.span.cleanStart),n}var st=class{constructor(e){this.root=null,this.nextOrder=0,this.distanceFn=e}insert(e){let t={key:e,insertionOrder:this.nextOrder++,children:new Map};if(this.root===null){this.root=t;return}let n=this.root;for(;;){let r=this.distanceFn(e,n.key);if(r===0)return;let i=n.children.get(r);if(i)n=i;else{n.children.set(r,t);return}}}query(e,t){if(this.root===null)return[];let n=[],r=[this.root],i;for(;i=r.pop();){let a=this.distanceFn(e,i.key);a<=t&&n.push({key:i.key,distance:a,insertionOrder:i.insertionOrder});let o=a-t,s=a+t;for(let[e,t]of i.children)e>=o&&e<=s&&r.push(t)}return n.sort((e,t)=>e.distance-t.distance||e.insertionOrder-t.insertionOrder),n}};function ct(e,t,n=1/0){if(e.length===0)return Math.min(t.length,n+1);if(t.length===0)return Math.min(e.length,n+1);let r=e.length<=t.length?e:t,i=e.length<=t.length?t:e,a=r.length,o=Array.from({length:a+1},(e,t)=>t),s=Array(a+1);for(let e=1;e<=i.length;e++){s[0]=e;let t=e;for(let n=1;n<=a;n++)i[e-1]===r[n-1]?s[n]=o[n-1]:s[n]=1+Math.min(o[n],s[n-1],o[n-1]),s[n]<t&&(t=s[n]);if(t>n)return n+1;let c=o;o=s,s=c}return o[a]}function lt(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}function ut(e,t,n=/\n\n+/g){let r=new Map,i=[0],a;for(;(a=n.exec(e))!==null;)i.push(a.index+a[0].length);i.push(e.length);for(let e=0;e<t.length;e++){let n=t[e].span.originalStart;r.set(e,lt(i,n)-1)}return r}function dt(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r].span.cleanStart,a=0,o=0,s=t.length-1;for(;o<=s;){let e=o+s>>>1,n=t[e];if(i<n.start)s=e-1;else if(i>=n.end)o=e+1;else{a=n.footnoteNumber;break}}n.set(r,a)}return n}function ft(e,t,n,r,i=!1){if(r===`none`)return!0;let a=n.get(e),o=n.get(t);return!!(a===void 0||o===void 0||a===o||r===`footnote`&&i&&a===0)}var pt=class{constructor(e,t,n={}){this.citations=e,this.text=t,this.options={scopeStrategy:n.scopeStrategy??`paragraph`,autoDetectParagraphs:n.autoDetectParagraphs??!0,paragraphBoundaryPattern:n.paragraphBoundaryPattern??/\n\n+/g,fuzzyPartyMatching:n.fuzzyPartyMatching??!0,partyMatchThreshold:n.partyMatchThreshold??.8,allowNestedResolution:n.allowNestedResolution??!1,reportUnresolved:n.reportUnresolved??!0,footnoteMap:n.footnoteMap},this.partyNameTree=new st(ct),this.context={citationIndex:0,allCitations:e,lastFullCitation:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=ut(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=dt(e,this.options.footnoteMap))}resolve(){let e=[];for(let n=0;n<this.citations.length;n++){this.context.citationIndex=n;let r=this.citations[n],i;switch(r.type){case`id`:i=this.resolveId(r);break;case`supra`:i=this.resolveSupra(r);break;case`shortFormCase`:i=this.resolveShortFormCase(r);break;default:t(r)&&(this.context.lastFullCitation=n,this.trackFullCitation(r,n));break}e.push({...r,resolution:i})}return e}resolveId(e){let t=this.context.citationIndex,n;for(let e=t-1;e>=0;e--)if(this.citations[e].type===`case`){n=e;break}return n===void 0?this.createFailureResult(`No preceding full case citation found`):this.isWithinScope(n,t)?{resolvedTo:n,confidence:1}:this.createFailureResult(`Antecedent citation outside scope boundary`)}resolveSupra(e){let t=this.context.citationIndex,n=this.normalizePartyName(e.partyName),r=n.length,i=this.options.partyMatchThreshold,a=r===0?0:Math.ceil(r*(1-i)/i),o=this.partyNameTree.query(n,a);o.sort((e,t)=>e.insertionOrder-t.insertionOrder);let s;for(let e of o){let n=this.context.fullCitationHistory.get(e.key);if(n===void 0||!this.isWithinScope(n,t,!0))continue;let i=Math.max(r,e.key.length),a=i===0?1:1-e.distance/i;(!s||a>s.similarity)&&(s={index:n,similarity:a})}if(!s)return this.createFailureResult(`No full citation found in scope`);if(s.similarity<this.options.partyMatchThreshold)return this.createFailureResult(`Party name similarity ${s.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`);let c=[];return s.similarity<1&&c.push(`Fuzzy match: similarity ${s.similarity.toFixed(2)}`),{resolvedTo:s.index,confidence:s.similarity,warnings:c.length>0?c:void 0}}resolveShortFormCase(e){let t=this.context.citationIndex;for(let n=t-1;n>=0;n--){let r=this.citations[n];if(r.type===`case`&&r.volume===e.volume&&this.normalizeReporter(r.reporter)===this.normalizeReporter(e.reporter))return this.isWithinScope(n,t,!0)?{resolvedTo:n,confidence:.95}:this.createFailureResult(`Matching citation outside scope boundary`)}return this.createFailureResult(`No matching full case citation found`)}trackFullCitation(e,t){if(e.type===`case`&&(e.defendantNormalized&&(this.context.fullCitationHistory.set(e.defendantNormalized,t),this.partyNameTree.insert(e.defendantNormalized)),e.plaintiffNormalized&&(this.context.fullCitationHistory.set(e.plaintiffNormalized,t),this.partyNameTree.insert(e.plaintiffNormalized)),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t),this.partyNameTree.insert(e)}}}extractPartyName(e){let t=e.span.originalStart,n=Math.max(0,t-100),r=this.text.substring(n,t),i=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*)\s+v\.?\s+[A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*,\s*$/);if(i)return this.stripSignalWords(i[1].trim());let a=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*),\s*$/);if(a)return this.stripSignalWords(a[1].trim())}stripSignalWords(e){let t=e.replace(/^(?:In(?!\s+re\b)|See(?:\s+[Aa]lso)?|Compare|But(?:\s+[Ss]ee)?|Cf\.?|Also)\s+/i,``).trim();return t.length>0?t:e}normalizePartyName(e){return e.toLowerCase().replace(/\s+/g,` `).trim()}normalizeReporter(e){return e.toLowerCase().replace(/\s+/g,``).replace(/\./g,``)}isWithinScope(e,t,n=!1){return ft(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function mt(e,t,n){return new pt(e,t,n).resolve()}function ht(e,t=``){let n=new Map;if(e.length===0||t===``)return n;let r=new Set;for(let i=0;i<e.length;i++){let a=e[i];if(a.type!==`case`||r.has(i))continue;let o=[];for(let n=i+1;n<e.length;n++){let s=e[n];if(s.type!==`case`)break;let c=(n===i+1?a:e[n-1]).span.cleanEnd,l=s.span.cleanStart;if(l-c>20)break;let u=t.substring(c,l);if(!u.includes(`,`))break;let d=u.indexOf(`,`);if(u.length-d-1>5||t.substring(a.span.cleanEnd,s.span.cleanEnd).includes(`)`)||!gt(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function gt(e,t){let n=e.substring(t,t+200),r=n.indexOf(`(`);if(r===-1)return!1;let i=0;for(let e=r;e<n.length;e++)if(n[e]===`(`)i++;else if(n[e]===`)`&&(i--,i===0))return!0;return!1}const X=_t();function _t(){return[{regex:/^see\s+generally\b/i,signal:`see generally`},{regex:/^see\s+also\b/i,signal:`see also`},{regex:/^but\s+see\b/i,signal:`but see`},{regex:/^but\s+cf\.?(?=\s|$)/i,signal:`but cf`},{regex:/^compare\b/i,signal:`compare`},{regex:/^accord\b/i,signal:`accord`},{regex:/^contra\b/i,signal:`contra`},{regex:/^see\b/i,signal:`see`},{regex:/^cf\.?(?=\s|$)/i,signal:`cf`}].map(({regex:e,signal:t})=>({regex:e,endRegex:RegExp(`${e.source.replace(/^\^/,`(?<![a-z])`)}\\s*$`,e.flags),signal:t}))}function vt(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanEnd:e.span.cleanEnd}function Z(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanStart:e.span.cleanStart}function Q(e,t){e.signal=t}function yt(e){let t=e.trimStart();for(let{regex:e,signal:n}of X){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function bt(e){let t=e.indexOf(`;`);if(t===-1||e.substring(0,t).trim()!==``)return{valid:!1};let n=e.substring(t+1).trim();if(n===``)return{valid:!0};let r=yt(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function xt(e,t){if(e.length<2)return;let n=[],r=[];for(let i=0;i<e.length-1;i++){let a=e[i],o=e[i+1];if(o.type===`case`&&o.subsequentHistoryOf){r.length>=2&&n.push(r),r=[];continue}if(a.type===`case`&&a.subsequentHistoryOf)continue;let s=vt(a),c=Z(o);if(c<=s){r.length>=2&&n.push(r),r=[];continue}let l=bt(t.substring(s,c));l.valid?(r.length===0&&r.push(i),r.push(i+1),l.signal&&!o.signal&&Q(o,l.signal)):(r.length>=2&&n.push(r),r=[])}r.length>=2&&n.push(r);for(let t=0;t<n.length;t++){let r=n[t];if(r.length<2)continue;let i=`sc-${t}`;for(let t=0;t<r.length;t++){let n=e[r[t]];n.stringCitationGroupId=i,n.stringCitationIndex=t,n.stringCitationGroupSize=r.length}}for(let r of n){if(r.length<2)continue;let n=e[r[0]];if(n.signal)continue;let i=Math.max(0,Z(n)-60),a=t.substring(i,Z(n)).trim();for(let{endRegex:e,signal:t}of X)if(e.test(a)){Q(n,t);break}}}function St(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.signal&&r.stringCitationGroupId)continue;let i=n>0?vt(e[n-1]):0,a=r.span.cleanStart;if(a<=i)continue;let o=t.substring(i,a),s=[];for(let{signal:e}of X){let t=e.replace(/\./g,`\\.`).replace(/\s+/g,`\\s+`),n=RegExp(`(?<![a-zA-Z])(${t})(?![a-zA-Z])`,`gi`),r;for(;(r=n.exec(o))!==null;)s.push({signal:e,start:r.index,end:r.index+r[0].length})}if(s.length===0)continue;s.sort((e,t)=>{let n=t.end-e.end;return n===0?t.end-t.start-(e.end-e.start):n});let c=s[0];for(let e of s)e.start<=c.start&&e.end>=c.end&&(c=e);Q(r,c.signal)}}const $=1750,Ct=.1,wt=new Set([`i.c.j.`,`u.n.t.s.`,`i.l.m.`,`i.l.r.`,`p.c.i.j.`,`a.c.`,`w.l.r.`,`all e.r.`,`q.b.`,`k.b.`,`ch.`,`co. rep.`,`e.c.r.`,`e.h.r.r.`,`c.m.l.r.`,`edw.`]);function Tt(e){if(e.type===`case`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function Et(e){switch(e.type){case`case`:return e.year;case`journal`:return e.year;case`federalRegister`:return e.year;case`statutesAtLarge`:return e.year;default:return}}function Dt(e){let t=Tt(e);if(t&&wt.has(t.toLowerCase().trim()))return!0;let n=Et(e);return n!==void 0&&n<$}function Ot(e){let t=[],n=Tt(e);if(n){let e=n.toLowerCase().trim();wt.has(e)&&t.push(`Reporter "${n}" is a known non-US source`)}let r=Et(e);return r!==void 0&&r<$&&t.push(`Year ${r} predates US legal reporting (threshold: ${$})`),t}function kt(e,t){if(t)return e.filter(e=>!Dt(e));for(let t of e){if(t.confidence===Ct&&t.warnings?.length)continue;let e=Ot(t);if(e.length>0){t.confidence=Ct;let n=e.map(e=>({level:`warning`,message:e,position:{start:t.span.originalStart,end:t.span.originalEnd}}));t.warnings=[...t.warnings||[],...n]}}return e}const At=/^(\S+)\s+(.+)\s+(\d+)$/;function jt(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=h(e,t?.cleaners),o;if(t?.detectFootnotes){let t=w(e);t.length>0&&(o=E(t,i))}let s=ot(r,t?.patterns||[...rt,...it,...Y,...Ee,...at,...nt]),c=[],l=new Set,u=r.length<65536;for(let e of s){let t=u?e.span.cleanStart<<16|e.span.cleanEnd:`${e.span.cleanStart}-${e.span.cleanEnd}`;l.has(t)||(l.add(t),c.push(e))}let d=ht(c,r),f=new Map;for(let[e,t]of d.entries())for(let n of t)f.set(n,e);let p=[];for(let e=0;e<c.length;e++){let t=c[e],o;switch(t.type){case`case`:o=t.patternId===`id`||t.patternId===`ibid`?Pe(t,i):t.patternId===`supra`?Fe(t,i):t.patternId===`shortFormCase`?Ie(t,i):we(t,i,r);break;case`statute`:o=J(t,i);break;case`journal`:o=W(t,i);break;case`neutral`:o=G(t,i);break;case`publicLaw`:o=K(t,i);break;case`federalRegister`:o=U(t,i);break;case`statutesAtLarge`:o=tt(t,i);break;case`constitutional`:o=Ne(t,i);break;default:continue}if(a.length>0&&(o.warnings=[...o.warnings||[],...a]),o.processTimeMs=performance.now()-n,o.type===`case`){let t=d.has(e),n=f.has(e);if(t||n){let r=c[n?f.get(e)??e:e],i=At.exec(r.text);if(i){let[,n,r,a]=i;if(o.groupId=`${n}-${r.replace(/\s+/g,`.`)}-${a}`,t){let t=d.get(e)??[];o.parallelCitations=t.map(e=>{let t=c[e],n=At.exec(t.text);if(n){let[,e,t,r]=n;return{volume:/^\d+$/.test(e)?Number.parseInt(e,10):e,reporter:t,page:Number.parseInt(r,10)}}return{volume:0,reporter:``,page:0}})}}}}p.push(o)}Nt(p),xt(p,r),St(p,r);let m=kt(p,t?.filterFalsePositives??!1);return o&&D(m,o),t?.resolve?mt(m,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):m}async function Mt(e,t){return jt(e,t)}function Nt(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`case`||!r.subsequentHistoryEntries)continue;let i=r.subsequentHistoryEntries,a=0;for(let r=n+1;r<e.length&&a<i.length;r++){let o=e[r];if(o.type!==`case`)continue;let s=i[a].signalSpan.cleanEnd;o.span.cleanStart>=s&&(t.push({parentIdx:n,childIdx:r,signal:i[a].signal}),a++)}}if(t.length===0)return;let n=new _(e.length);for(let e of t)n.union(e.parentIdx,e.childIdx);let r=new Map;for(let e of t)r.set(e.childIdx,e.signal);for(let[t,i]of n.components()){if(i.length===1)continue;let n=e[t];if(n.type!==`case`)continue;let a=[...n.subsequentHistoryEntries??[]];for(let n of i){if(n===t)continue;let i=e[n];if(i.type!==`case`)continue;let o=r.get(n);if(o&&(i.subsequentHistoryOf={index:t,signal:o},i.subsequentHistoryEntries)){for(let e of i.subsequentHistoryEntries)a.push({...e,order:a.length});i.subsequentHistoryEntries=void 0}}n.subsequentHistoryEntries=a}}exports.DocumentResolver=pt,exports.applyFalsePositiveFilters=kt,exports.assertUnreachable=a,exports.cleanText=h,exports.detectFootnotes=w,exports.extractCase=we,exports.extractCitations=jt,exports.extractCitationsAsync=Mt,exports.extractConstitutional=Ne,exports.extractFederalRegister=U,exports.extractJournal=W,exports.extractNeutral=G,exports.extractPublicLaw=K,exports.extractStatute=J,exports.extractStatutesAtLarge=tt,exports.isCaseCitation=r,exports.isCitationType=i,exports.isFullCitation=t,exports.isShortFormCitation=n,exports.normalizeCourt=te,exports.parsePincite=R,exports.resolveCitations=mt,exports.tokenize=ot;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./reportersCache-BCIjh0Pj.cjs`);function t(e){return e.type===`case`||e.type===`statute`||e.type===`journal`||e.type===`neutral`||e.type===`publicLaw`||e.type===`federalRegister`||e.type===`statutesAtLarge`||e.type===`constitutional`}function n(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function r(e){return e.type===`case`}function i(e,t){return e.type===t}function a(e){throw Error(`Unexpected value: ${e}`)}function o(e){return e.replace(/<[^>]+>/g,``)}function s(e){return e.replace(/(\w)-\s*[\n\r]+\s*(\w)/g,`$1$2`)}function c(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]/g,` `)}function l(e){return e.replace(/ {2,}/g,` `)}function u(e){return e.normalize(`NFKC`)}function d(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function f(e){return e.replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function p(e){return e.replace(/§/gi,`§`).replace(/¶/gi,`¶`).replace(/&/gi,`&`).replace(/ /gi,` `).replace(/</gi,`<`).replace(/>/gi,`>`).replace(/"/gi,`"`).replace(/'/gi,`'`).replace(/&#(\d+);/g,(e,t)=>{let n=Number.parseInt(t,10);return Number.isNaN(n)?e:String.fromCharCode(n)}).replace(/&#x([0-9a-fA-F]+);/g,(e,t)=>{let n=Number.parseInt(t,16);return Number.isNaN(n)?e:String.fromCharCode(n)})}function m(e){let t=e;return t=t.replace(/\bU\.\s+S\./g,`U.S.`),t=t.replace(/\bS\.\s+Ct\./g,`S.Ct.`),t=t.replace(/\bL\.\s+Ed\./g,`L.Ed.`),t=t.replace(/\bF\.\s+Supp\./g,`F.Supp.`),t=t.replace(/\bF\.\s+(\d+[a-z]+)/g,`F.$1`),t=t.replace(/([A-Za-z])\.\s+(\d+[a-z]+)/g,`$1.$2`),t}function h(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var g=class e{constructor(e){this.segments=e}static identity(t){return new e([{cleanPos:0,origPos:0,len:t+1}])}static fromMap(t){if(t.size===0)return new e([]);let n=[...t.entries()].sort((e,t)=>e[0]-t[0]),r=[],i=n[0][0],a=n[0][1],o=1;for(let e=1;e<n.length;e++){let[t,s]=n[e],c=i+o,l=a+o;t===c&&s===l?o++:(r.push({cleanPos:i,origPos:a,len:o}),i=t,a=s,o=1)}return r.push({cleanPos:i,origPos:a,len:o}),new e(r)}lookup(e){let t=this.segments;if(t.length===0)return e;let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>>1,a=t[i];if(e<a.cleanPos)r=i-1;else if(e>=a.cleanPos+a.len)n=i+1;else return a.origPos+(e-a.cleanPos)}let i=t[t.length-1];return i.origPos+(e-i.cleanPos)}};function _(e,t=[o,p,s,c,l,u,f,d,h,m]){let n=e,r=new Map,i=new Map;for(let t=0;t<=e.length;t++)r.set(t,t),i.set(t,t);for(let e of t){let t=n,a=e(n);if(t!==a){let{newCleanToOriginal:e,newOriginalToClean:o}=v(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:g.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function v(e,t,n,r){let i=new Map,a=new Map,o=0,s=0;for(;o<=e.length||s<=t.length;){if(o>=e.length&&s>=t.length){let e=n.get(o)??o;i.set(s,e),a.set(e,s);break}if(o>=e.length){let e=n.get(o)??o;i.set(s,e),s++;continue}if(s>=t.length){let e=n.get(o)??o;a.set(e,s),o++;continue}if(e[o]===t[s]){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++}else{if(e.length-o===t.length-s){let e=n.get(o)??o;i.set(s,e),a.set(e,s),o++,s++;continue}let r=!1;for(let i=1;i<=20&&!(o+i>=e.length);i++)if(e[o+i]===t[s]){for(let e=0;e<i;e++){let t=n.get(o+e)??o+e;a.set(t,s)}o+=i,r=!0;break}if(r)continue;for(let a=1;a<=20&&!(s+a>=t.length);a++)if(e[o]===t[s+a]){let e=n.get(o)??o;for(let t=0;t<a;t++)i.set(s+t,e);s+=a,r=!0;break}if(r)continue;let c=n.get(o)??o;i.set(s,c),a.set(c,s),o++,s++}}return{newCleanToOriginal:i,newOriginalToClean:a}}var y=class{constructor(e){this.parent=Array.from({length:e},(e,t)=>t),this.rank=Array(e).fill(0)}find(e){let t=e;for(;this.parent[t]!==t;)this.parent[t]=this.parent[this.parent[t]],t=this.parent[t];return t}union(e,t){let n=this.find(e),r=this.find(t);if(n!==r){if(n>r){let e=n;n=r,r=e}this.parent[r]=n,this.rank[n]===this.rank[r]&&this.rank[n]++}}connected(e,t){return this.find(e)===this.find(t)}components(){let e=new Map;for(let t=0;t<this.parent.length;t++){let n=this.find(t),r=e.get(n);r||(r=[],e.set(n,r)),r.push(t)}return e}};function b(e,t,n){let r=/\blabel\s*=\s*["'](\d+)["']/.exec(e);if(r)return Number.parseInt(r[1],10);let i=/\bid\s*=\s*["'](?:fn|footnote)(\d+)["']/.exec(e);if(i)return Number.parseInt(i[1],10);let a=t.replace(/<[^>]*>/g,``),o=/^\s*(\d+)[.\s):]/.exec(a);return o?Number.parseInt(o[1],10):n+1}function x(e,t,n){let r=RegExp(`<${t}\\b[^>]*>`,`gi`),i=RegExp(`</${t}\\s*>`,`gi`);r.lastIndex=n,i.lastIndex=n;let a=1;for(;a>0;){let t=r.exec(e),n=i.exec(e);if(!n)return null;if(t&&t.index<n.index)a++,i.lastIndex=t.index+t[0].length;else{if(a--,a===0)return{contentEnd:n.index,tagEnd:n.index+n[0].length};r.lastIndex=n.index+n[0].length}}return null}function S(e){let t=[],n,r=RegExp(`<(footnote|fn)\\b[^>]*>|<(div|aside|section|p|span)\\b[^>]*(?:class\\s*=\\s*["'][^"']*\\bfootnote\\b[^"']*["']|id\\s*=\\s*["'](?:fn|footnote)\\d*["'])[^>]*>`,`gi`);for(;(n=r.exec(e))!==null;){let i=n[0],a=n.index+i.length,o=x(e,n[1]||n[2],a);if(!o)continue;let s=b(i,e.slice(a,o.contentEnd),t.length);t.push({start:a,end:o.contentEnd,footnoteNumber:s}),r.lastIndex=o.tagEnd}return t.sort((e,t)=>e.start-t.start)}const C=/^\s*[-_]{5,}\s*$/m;function w(e){let t=C.exec(e);if(!t)return[];let n=t.index+t[0].length,r=e.slice(n),i=RegExp(`^\\s*(?:FN\\s*(\\d+)[.\\s:)]|\\[(\\d+)\\]\\s|n\\.\\s*(\\d+)\\s|(\\d+)\\.\\s)`,`gm`),a=[],o;for(;(o=i.exec(r))!==null;){let e=o[1]||o[2]||o[3]||o[4];e&&a.push({index:o.index+n,footnoteNumber:Number.parseInt(e,10)})}if(a.length===0)return[];let s=[];for(let t=0;t<a.length;t++){let n=a[t].index,r=t+1<a.length?a[t+1].index:e.length;s.push({start:n,end:r,footnoteNumber:a[t].footnoteNumber})}return s}const T=/<[^>]+>/;function E(e){if(T.test(e)){let t=S(e);if(t.length>0)return t}return w(e)}function D(e,t,n,r=20){for(let i=1;i<=r;i++){let r=n===`forward`?e+i:e-i,a=t.get(r);if(a!==void 0)return a}}function O(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??D(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??D(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function k(e,t){if(t.length!==0)for(let n of e){let e=n.span.cleanStart,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>>1,o=t[a];if(e<o.start)i=a-1;else if(e>=o.end)r=a+1;else{n.inFootnote=!0,n.footnoteNumber=o.footnoteNumber;break}}}}function A(e,t){return t.cleanToOriginalSegments?{originalStart:t.cleanToOriginalSegments.lookup(e.cleanStart),originalEnd:t.cleanToOriginalSegments.lookup(e.cleanEnd)}:{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}const j={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,sept:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function M(e){let t=j[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}function N(e){let{year:t,month:n,day:r}=e;return n!==void 0&&r!==void 0?`${t}-${String(n).padStart(2,`0`)}-${String(r).padStart(2,`0`)}`:n===void 0?String(t):`${t}-${String(n).padStart(2,`0`)}`}function P(e){let t=e.match(/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec)\.?\s+(\d{1,2}),?\s+(\d{4})\b/i);if(t){let e=M(t[1]),n=Number.parseInt(t[2],10),r={year:Number.parseInt(t[3],10),month:e,day:n};return{iso:N(r),parsed:r}}let n=e.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i);if(n){let e=M(n[1]),t=Number.parseInt(n[2],10),r={year:Number.parseInt(n[3],10),month:e,day:t};return{iso:N(r),parsed:r}}let r=e.match(/\b(\d{1,2})\/(\d{1,2})\/(\d{4})\b/);if(r){let e=Number.parseInt(r[1],10),t=Number.parseInt(r[2],10),n={year:Number.parseInt(r[3],10),month:e,day:t};return{iso:N(n),parsed:n}}let i=e.match(/\b(\d{4})\b/);if(i){let e={year:Number.parseInt(i[1],10)};return{iso:N(e),parsed:e}}}function F(e){return{level:e,jurisdiction:`federal`,confidence:1}}function I(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function L(e){return{level:e,jurisdiction:`state`,confidence:.7}}const R=new Map([[`U.S.`,F(`supreme`)],[`S.Ct.`,F(`supreme`)],[`L.Ed.`,F(`supreme`)],[`L.Ed.2d`,F(`supreme`)],[`S. Ct.`,F(`supreme`)],[`L. Ed.`,F(`supreme`)],[`L. Ed. 2d`,F(`supreme`)],[`U. S.`,F(`supreme`)],[`L.Ed. 2d`,F(`supreme`)],[`L. Ed.2d`,F(`supreme`)],[`F.`,F(`appellate`)],[`F.2d`,F(`appellate`)],[`F.3d`,F(`appellate`)],[`F.4th`,F(`appellate`)],[`F. App'x`,F(`appellate`)],[`F.Supp.`,F(`trial`)],[`F.Supp.2d`,F(`trial`)],[`F.Supp.3d`,F(`trial`)],[`F.Supp.4th`,F(`trial`)],[`F. Supp.`,F(`trial`)],[`F. Supp. 2d`,F(`trial`)],[`F. Supp. 3d`,F(`trial`)],[`F. Supp. 4th`,F(`trial`)],[`F.R.D.`,F(`trial`)],[`B.R.`,F(`trial`)],[`Cal.`,I(`supreme`,`CA`)],[`Cal.2d`,I(`supreme`,`CA`)],[`Cal.3d`,I(`supreme`,`CA`)],[`Cal.4th`,I(`supreme`,`CA`)],[`Cal.5th`,I(`supreme`,`CA`)],[`Cal.App.`,I(`appellate`,`CA`)],[`Cal.App.2d`,I(`appellate`,`CA`)],[`Cal.App.3d`,I(`appellate`,`CA`)],[`Cal.App.4th`,I(`appellate`,`CA`)],[`Cal.App.5th`,I(`appellate`,`CA`)],[`Cal.Rptr.`,I(`unknown`,`CA`)],[`Cal.Rptr.2d`,I(`unknown`,`CA`)],[`Cal.Rptr.3d`,I(`unknown`,`CA`)],[`N.Y.`,I(`supreme`,`NY`)],[`N.Y.2d`,I(`supreme`,`NY`)],[`N.Y.3d`,I(`supreme`,`NY`)],[`A.D.`,I(`appellate`,`NY`)],[`A.D.2d`,I(`appellate`,`NY`)],[`A.D.3d`,I(`appellate`,`NY`)],[`Misc.`,I(`trial`,`NY`)],[`Misc.2d`,I(`trial`,`NY`)],[`Misc.3d`,I(`trial`,`NY`)],[`N.Y.S.`,I(`unknown`,`NY`)],[`N.Y.S.2d`,I(`unknown`,`NY`)],[`N.Y.S.3d`,I(`unknown`,`NY`)],[`Ill.`,I(`supreme`,`IL`)],[`Ill.2d`,I(`supreme`,`IL`)],[`Ill.App.`,I(`appellate`,`IL`)],[`Ill.App.2d`,I(`appellate`,`IL`)],[`Ill.App.3d`,I(`appellate`,`IL`)],[`Ill.Dec.`,I(`unknown`,`IL`)],[`Ohio St.`,I(`supreme`,`OH`)],[`Ohio St.2d`,I(`supreme`,`OH`)],[`Ohio St.3d`,I(`supreme`,`OH`)],[`Ohio App.3d`,I(`appellate`,`OH`)],[`Pa.`,I(`supreme`,`PA`)],[`Pa. Super.`,I(`appellate`,`PA`)],[`Tex.`,I(`supreme`,`TX`)],[`Fla.`,I(`supreme`,`FL`)],[`Mass.`,I(`supreme`,`MA`)],[`Mass. App. Ct.`,I(`appellate`,`MA`)],[`A.`,L(`unknown`)],[`A.2d`,L(`unknown`)],[`A.3d`,L(`unknown`)],[`S.E.`,L(`unknown`)],[`S.E.2d`,L(`unknown`)],[`S.E.3d`,L(`unknown`)],[`S.W.`,L(`unknown`)],[`S.W.2d`,L(`unknown`)],[`S.W.3d`,L(`unknown`)],[`N.E.`,L(`unknown`)],[`N.E.2d`,L(`unknown`)],[`N.E.3d`,L(`unknown`)],[`N.W.`,L(`unknown`)],[`N.W.2d`,L(`unknown`)],[`N.W.3d`,L(`unknown`)],[`So.`,L(`unknown`)],[`So.2d`,L(`unknown`)],[`So.3d`,L(`unknown`)],[`P.`,L(`unknown`)],[`P.2d`,L(`unknown`)],[`P.3d`,L(`unknown`)]]);function ee(e){return R.get(e)}const z=/^(?:at\s+)?(\d+)(?:[-–—](\d+))?\s*(?:(?:n|note)\s*\.?\s*(\d+))?$/i;function B(e){let t=e.trim();if(!t)return null;let n=z.exec(t);if(!n)return null;let r=Number.parseInt(n[1],10),i=n[2],a=n[3],o,s=!1;if(i){s=!0;let e=Number.parseInt(i,10);if(i.length<n[1].length){let e=n[1].slice(0,n[1].length-i.length);o=Number.parseInt(e+i,10)}else o=e}let c=a?Number.parseInt(a,10):void 0,l={page:r,isRange:s,raw:t};return o!==void 0&&(l.endPage=o),c!==void 0&&(l.footnote=c),l}function V(e){if(!e||!e.trim())return;let t=e.trim();return t=t.replace(/\.\s+(?=[A-Za-z])/g,`.`),/[A-Za-z]$/.test(t)&&(/\./.test(t)||/^\d+\w*\s+[A-Z]/i.test(t))&&(t+=`.`),t}const te=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`]),ne=(()=>{let e=[...te].sort((e,t)=>t.length-e.length).map(e=>e.replace(/\s+/g,`\\s+`).replace(/\./g,`\\.`));return RegExp(`^(${e.join(`|`)})\\s+`,`i`)})();function re(e){let t=Number.parseInt(e,10);return String(t)===e?t:e}const ie=/(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec|January|February|March|April|May|June|July|August|September|October|November|December)\.?/,ae=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s']+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+|_{3,}|-{3,})/,oe=/^[_-]{3,}$/,se=/,\s*(\d+)/,ce=/\(([^)]+)\)/,le=/^(?:,\s*\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,ue=/^,\s*(\d+(?:-\d+)?)/,de=/\d\.\s+/g,fe=/[\s,]/,pe=/^(?:,\s*\d+(?:[-–—]\d+)?(?:\s+(?:n|note)\s*\.?\s*\d+)?)+/,me=[[/^aff'?d\s+on\s+other\s+grounds\b/i,`affirmed`],[/^affirmed\s+on\s+other\s+grounds\b/i,`affirmed`],[/^aff'?d\b/i,`affirmed`],[/^affirmed\b/i,`affirmed`],[/^rev'?d\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\s+on\s+other\s+grounds\b/i,`reversed`],[/^reversed\s+and\s+remanded\b/i,`reversed`],[/^rev'?d\b/i,`reversed`],[/^reversed\b/i,`reversed`],[/^certiorari\s+denied\b/i,`cert_denied`],[/^cert\.\s*den(ied|\.)(?=[\s,;(]|$)/i,`cert_denied`],[/^certiorari\s+granted\b/i,`cert_granted`],[/^cert\.\s*granted\b/i,`cert_granted`],[/^overruled\s+by\b/i,`overruled`],[/^overruled\s+in\b/i,`overruled`],[/^overruling\b/i,`overruled`],[/^overruled\b/i,`overruled`],[/^vacated\s+by\b/i,`vacated`],[/^vacated\b/i,`vacated`],[/^remanded\s+for\s+reconsideration\b/i,`remanded`],[/^remanded\b/i,`remanded`],[/^modified\s+by\b/i,`modified`],[/^modified\b/i,`modified`],[/^abrogated\s+by\b/i,`abrogated`],[/^abrogated\s+in\b/i,`abrogated`],[/^abrogated\b/i,`abrogated`],[/^superseded\s+by\b/i,`superseded`],[/^superseded\b/i,`superseded`],[/^disapproved\s+of\b/i,`disapproved`],[/^disapproved\b/i,`disapproved`],[/^questioned\s+by\b/i,`questioned`],[/^questioned\b/i,`questioned`],[/^distinguished\s+by\b/i,`distinguished`],[/^distinguished\b/i,`distinguished`],[/^withdrawn\b/i,`withdrawn`],[/^reinstated\b/i,`reinstated`]];function he(e){for(let[t,n]of me){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const ge=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function _e(e){return ge.has(e)}const ve=/^([a-z]+)\b/i,ye=/([A-Z][A-Za-z0-9\s.,'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9\s.,'&()/-]+?)\s*,\s*$/,be=/\b(In re|Ex parte|Matter of|Estate of|State ex rel\.|United States ex rel\.|Application of|Petition of)\s+([A-Za-z0-9\s.,'&()/-]+?)\s*,\s*$/i;function xe(e){let t=e.replace(/\s*\d{1,2}\/\d{1,2}\/\d{4}\s*$/,``).trim();return t=t.replace(/\s*\d{4}\s*$/,``).trim(),t=t.replace(/\s*,?\s*\d{1,2}\s*,?\s*$/,``).trim(),t=t.replace(RegExp(`\\s*${ie.source}\\s*$`,`i`),``).trim(),t=t.replace(/,\s*$/,``).trim(),t&&/[A-Za-z]/.test(t)?t:void 0}function Se(e,t,n=150){let r=Math.max(0,t-n),i=e.substring(r,t),a=r,o=-1,s;for(;(s=de.exec(i))!==null;)o=s.index+s[0].length;let c=/\b(?:v|vs|Inc|Corp|Ltd|Co|Cir|App|Ct|Supp|Dist|Rev|Stat|Gen|No|ed|Jr|Sr|Dr|Mr|Mrs|Ms|Prof|St|Dep|Auth|Ass|Comm)\.\s+$/i,l=/[.)]\s+(?=[A-Z])/g;for(;(s=l.exec(i))!==null;){let e=i.substring(Math.max(0,s.index-15),s.index+2);if(c.test(e))continue;let t=s.index+s[0].length;t>o&&(o=t)}o!==-1&&(i=i.substring(o),a=r+o);let u=ye.exec(i);if(u&&!u[0].includes(`;`))return{caseName:`${u[1].trim()} v. ${u[2].trim()}`,nameStart:a+u.index};let d=be.exec(i);if(d&&!d[0].includes(`;`))return{caseName:`${d[1]} ${d[2].trim()}`,nameStart:a+d.index}}function Ce(e,t,n=500){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s,c=e.substring(a,o),l=pe.exec(c);for(l&&(a+=l[0].length);a<o;){for(;a<o&&fe.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=he(t);if(n){s={text:t.substring(0,n.matchLength).replace(/\s+$/,``),normalized:n.signal,start:a,end:a+n.matchLength},a+=n.matchLength;continue}break}let t=a,n=0,c=a+1;for(;a<o;){let o=e[a];if(o===`(`)n++;else if(o===`)`&&(n--,n===0)){a++;let n=e.substring(c,a-1).trim();n.length>0&&(r.push({text:n,start:t,end:a}),s&&=(i.push({signal:s,nextParenIndex:r.length-1}),void 0));break}a++}if(n>0)break}return s&&i.push({signal:s,nextParenIndex:-1}),{parens:r,signals:i}}function H(e){let t={},n=P(e);n&&(t.date=n,t.year=n.parsed.year);let r=xe(e);return r&&(t.court=r),/\ben banc\b/i.test(e)?t.disposition=`en banc`:/\bper curiam\b/i.test(e)&&(t.disposition=`per curiam`),t}function we(e){let t=ve.exec(e);if(t){let n=t[1].toLowerCase();if(_e(n))return{kind:`explanatory`,text:e,type:n}}let n=H(e);return n.year||n.date||n.disposition?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function U(e){let t=e;t=t.replace(/\bet\s+al\.?/gi,``),t=t.replace(/\s+d\/b\/a\b.*/gi,``),t=t.replace(/\s+aka\b.*/gi,``);let n=``;for(;n!==t;)n=t,t=t.replace(/,?\s*(Inc|LLC|Corp|Ltd|Co|LLP|LP|P\.C)\.?$/gi,``);return t=t.replace(/^(The|A|An)\s+/i,``),t=t.replace(/\s+/g,` `),t.trim().toLowerCase()}function Te(e){let t;for(let t of[`In re`,`Ex parte`,`Matter of`,`State ex rel.`,`United States ex rel.`,`Application of`,`Petition of`,`Estate of`]){let n=RegExp(`^(${t})\\s+(.+)$`,`i`).exec(e);if(n){let t=n[1],r=n[2];if(/\s+v\.?\s+/i.test(r)){let t=/^(.+?)\s+v\.?\s+(.+)$/i.exec(e);if(t){let e=t[1].trim(),n=t[2].trim();return{plaintiff:e,plaintiffNormalized:U(e),defendant:n,defendantNormalized:U(n)}}}else return{plaintiff:e,plaintiffNormalized:U(r),proceduralPrefix:t}}}let n=/^(.+?)\s+v\.?\s+(.+)$/i.exec(e);if(n){let e=n[1].trim(),r=n[2].trim(),i=e.match(ne)??e.match(/^(Also|In(?!\s+re\b))\s+/i);if(i){let n=i[1].toLowerCase().replace(/\.$/,``);te.has(n)&&(t=n),e=e.substring(i[0].length).trim()}return{plaintiff:e||n[1].trim(),plaintiffNormalized:U(e||n[1].trim()),defendant:r,defendantNormalized:U(r),signal:t}}return{}}function W(e,t,n){let{text:r,span:i}=e,a=ae.exec(r);if(!a)throw Error(`Failed to parse case citation: ${r}`);let o=re(a[1]),s=a[2].trim(),c=a[3]?Number.parseInt(a[3],10):void 0,l=a[4]||void 0,u=a[5],d=oe.test(u),f=d?void 0:Number.parseInt(u,10),p=d?!0:void 0,m=se.exec(r),h=m?Number.parseInt(m[1],10):void 0,g=m?B(m[1])??void 0:void 0,_,v,y,b,x,S,C,w=ce.exec(r);if(w&&!c){C=w[1];let e=H(C);_=e.year,v=e.court,y=e.date,b=e.disposition}if(n&&!C){let e=n.substring(i.cleanEnd),t=le.exec(e);if(t){C=t[1];let n=H(C);if(_=n.year,v=n.court,y=n.date,b=n.disposition,h===void 0){let t=ue.exec(e);t&&(h=Number.parseInt(t[1],10),g||=B(t[1])??void 0)}}}let T,E,D;if(n){D=Ce(n,i.cleanEnd),E=D.parens;let e=C?E.slice(1):E;for(let t of e){let e=we(t.text);e.kind===`metadata`?(e.court&&(!v||v===b)&&(v=e.court),e.year&&!_&&(_=e.year,y=e.date),e.disposition&&!b&&(b=e.disposition)):(T??=[],T.push({text:e.text,type:e.type}))}}let O;if(n&&D&&D.signals.length>0)for(let e=0;e<D.signals.length;e++){let{signal:n}=D.signals[e];O??=[];let{originalStart:r,originalEnd:i}=A({cleanStart:n.start,cleanEnd:n.end},t);O.push({signal:n.normalized,rawSignal:n.text,signalSpan:{cleanStart:n.start,cleanEnd:n.end,originalStart:r,originalEnd:i},order:e})}let k=ee(s);if(!v&&k?.level===`supreme`&&k?.jurisdiction===`federal`&&(v=`scotus`),n){let e=Se(n,i.cleanStart);if(e){x=e.caseName;let n=E&&E.length>0?E[E.length-1].end:i.cleanEnd,r=e.nameStart,a=n;S={cleanStart:r,cleanEnd:a,originalStart:t.cleanToOriginal.get(r)??r,originalEnd:t.cleanToOriginal.get(a)??a}}}let j,M,N,P,F,I;if(x){let e=Te(x);if(j=e.plaintiff,M=e.plaintiffNormalized,N=e.defendant,P=e.defendantNormalized,F=e.proceduralPrefix,I=e.signal,I&&j&&N&&(x=`${j} v. ${N}`,S)){let e=n?.substring(S.cleanStart,i.cleanStart)??``,r=e.trimStart(),a=e.length-r.length,o=ne.exec(r);if(o){let e=S.cleanStart+a+o[0].length,n=t.cleanToOriginal.get(e)??e;S={...S,cleanStart:e,originalStart:n}}}}let{originalStart:L,originalEnd:R}=A(i,t),z=.5;if(`F.,F.2d,F.3d,F.4th,U.S.,S. Ct.,L. Ed.,P.,P.2d,P.3d,A.,A.2d,A.3d,N.E.,N.E.2d,N.E.3d,N.W.,N.W.2d,S.E.,S.E.2d,S.W.,S.W.2d,S.W.3d,So.,So. 2d,So. 3d`.split(`,`).some(e=>s.includes(e))&&(z+=.3),_!==void 0){let e=new Date().getFullYear();_<=e&&(z+=.2)}return z=Math.min(z,1),p&&(z=.8),{type:`case`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:L,originalEnd:R},confidence:z,matchedText:r,processTimeMs:0,patternsChecked:1,volume:o,reporter:s,page:f,nominativeVolume:c,nominativeReporter:l,pincite:h,pinciteInfo:g,court:v,normalizedCourt:V(v),year:_,hasBlankPage:p,date:y,fullSpan:S,caseName:x,disposition:b,parentheticals:T,subsequentHistoryEntries:O,plaintiff:j,plaintiffNormalized:M,defendant:N,defendantNormalized:P,proceduralPrefix:F,inferredCourt:k,signal:I}}const G=`${String.raw`(?:art(?:icle)?\.?|amend(?:ment)?\.?)\s+([IVX]+|\d+)`}${String.raw`(?:[,;]\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]\s*cl\.?\s*(\d+))?`}`,Ee=new RegExp(G,`i`),De=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?)\s+${G}`,`gi`),description:`U.S. Constitution citations (e.g., "U.S. Const. art. III, § 2", "U.S. Const. amend. XIV")`,type:`constitutional`},{id:`state-constitution`,regex:new RegExp(String.raw`\b(?:Ala|Alaska|Ariz|Ark|Cal(?:if)?|Colo|Conn|Del|Fla|Ga|Haw|Idaho|Ill|Ind|Iowa|Kan|Ky|La|Me|Md|Mass|Mich|Minn|Miss|Mo|Mont|Neb|Nev|N\.?\s*H|N\.?\s*J|N\.?\s*M|N\.?\s*Y|N\.?\s*C|N\.?\s*D|Ohio|Okla|Or(?:e)?|Pa|R\.?\s*I|S\.?\s*C|S\.?\s*D|Tenn|Tex|Utah|Vt|W\.?\s*Va|Va|Wash|Wis|Wyo)\.?\s+Const\.?\s+${G}`,`gi`),description:`State constitution citations (e.g., "Cal. Const. art. I, § 7", "N.Y. Const. art. VI, § 20")`,type:`constitutional`},{id:`bare-constitution`,regex:new RegExp(String.raw`(?<!\.\s)(?<![A-Z]\s)\bConst\.?\s+${G}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`}],K={I:1,II:2,III:3,IV:4,V:5,VI:6,VII:7,VIII:8,IX:9,X:10,XI:11,XII:12,XIII:13,XIV:14,XV:15,XVI:16,XVII:17,XVIII:18,XIX:19,XX:20,XXI:21,XXII:22,XXIII:23,XXIV:24,XXV:25,XXVI:26,XXVII:27};function Oe(e){let t=e.toUpperCase();if(t in K)return K[t];let n=Number.parseInt(e,10);return Number.isNaN(n)?void 0:n}const ke={ala:`AL`,alaska:`AK`,ariz:`AZ`,ark:`AR`,cal:`CA`,calif:`CA`,colo:`CO`,conn:`CT`,del:`DE`,fla:`FL`,ga:`GA`,haw:`HI`,idaho:`ID`,ill:`IL`,ind:`IN`,iowa:`IA`,kan:`KS`,ky:`KY`,la:`LA`,me:`ME`,md:`MD`,mass:`MA`,mich:`MI`,minn:`MN`,miss:`MS`,mo:`MO`,mont:`MT`,neb:`NE`,nev:`NV`,"n.h":`NH`,"n.j":`NJ`,"n.m":`NM`,"n.y":`NY`,"n.c":`NC`,"n.d":`ND`,ohio:`OH`,okla:`OK`,or:`OR`,ore:`OR`,pa:`PA`,"r.i":`RI`,"s.c":`SC`,"s.d":`SD`,tenn:`TN`,tex:`TX`,utah:`UT`,vt:`VT`,va:`VA`,wash:`WA`,"w.va":`WV`,wis:`WI`,wyo:`WY`},Ae=/amend/i,je=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s+Const/i;function Me(e){let t=je.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in ke)return ke[n]}function Ne(e,t){let{text:n,span:r}=e,i=Ee.exec(n),a,o,s,c;if(i){let e=Oe(i[1]);Ae.test(i[0])?o=e:a=e,s=i[2]||void 0,c=i[3]?Number.parseInt(i[3],10):void 0}let l;switch(e.patternId){case`us-constitution`:l=`US`;break;case`state-constitution`:l=Me(n);break;default:l=void 0;break}let{originalStart:u,originalEnd:d}=A(r,t),f;f=e.patternId===`bare-constitution`?.7:s?.95:.9;let p=n.endsWith(`.`)?n.slice(0,-1):n;return{type:`constitutional`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:f,matchedText:p,processTimeMs:0,patternsChecked:1,jurisdiction:l,article:a,amendment:o,section:s,clause:c}}function Pe(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse Federal Register citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=Number.parseInt(i[2],10),c=/\((?:.*?\s)?(\d{4})\)/.exec(n),l=c?Number.parseInt(c[1],10):void 0,{originalStart:u,originalEnd:d}=A(r,t);return{type:`federalRegister`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,page:s,year:l}}function Fe(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+([A-Za-z.\s]+?)\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse journal citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=i[2].trim(),c=Number.parseInt(i[3],10),l=/,\s*(\d+)/.exec(n),u=l?Number.parseInt(l[1],10):void 0,{originalStart:d,originalEnd:f}=A(r,t);return{type:`journal`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:.6,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,journal:s,abbreviation:s,page:c,pincite:u}}function Ie(e,t){let{text:n,span:r}=e,i=/^(\d{4})\s+(.+?)\s+(\d+)$/.exec(n);if(!i)throw Error(`Failed to parse neutral citation: ${n}`);let a=Number.parseInt(i[1],10),o=i[2],s=i[3],{originalStart:c,originalEnd:l}=A(r,t);return{type:`neutral`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:1,matchedText:n,processTimeMs:0,patternsChecked:1,year:a,court:o,documentNumber:s}}function Le(e,t){let{text:n,span:r}=e,i=/Pub\.\s?L\.(?:\s?No\.)?\s?(\d+)-(\d+)/.exec(n);if(!i)throw Error(`Failed to parse public law citation: ${n}`);let a=Number.parseInt(i[1],10),o=Number.parseInt(i[2],10),{originalStart:s,originalEnd:c}=A(r,t);return{type:`publicLaw`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:s,originalEnd:c},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,congress:a,lawNumber:o}}function Re(e,t,n){let{text:r,span:i}=e,a=/([Ii])(?:d|bid)(\.)(,?)\s*(?:at\s+(\d+(?:\s*[-–]\s*\d+)?))?/.exec(r);if(!a)throw Error(`Failed to parse Id. citation: ${r}`);let o=a[1],s=a[3]===`,`,c=a[4]?Number.parseInt(a[4],10):void 0,l=1;if(o===`i`&&(l=.85),s&&(l=Math.min(l,.9)),n&&i.cleanStart>0){let e=n.slice(Math.max(0,i.cleanStart-20),i.cleanStart).trimEnd();e.length>0&&(e[e.length-1],/[.;)\]—:]$/.test(e)||(l=Math.min(l,.4)))}let{originalStart:u,originalEnd:d}=A(i,t);return{type:`id`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:u,originalEnd:d},confidence:l,matchedText:r,processTimeMs:0,patternsChecked:1,pincite:c}}function ze(e,t){let{text:n,span:r}=e,i=/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:,?\s+at\s+(\d+))?/.exec(n),a=i||/supra(?:\s+note\s+(\d+)(?:,?\s+at\s+(\d+))?|\s+at\s+(\d+))?/.exec(n);if(!a)throw Error(`Failed to parse supra citation: ${n}`);let o,s,c;if(i)o=i[1],s=i[3]?Number.parseInt(i[3],10):void 0,c=.9;else{o=void 0,a[1];let e=a[2],t=a[3];s=e?Number.parseInt(e,10):t?Number.parseInt(t,10):void 0,c=.8}let{originalStart:l,originalEnd:u}=A(r,t);return{type:`supra`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:c,matchedText:n,processTimeMs:0,patternsChecked:1,partyName:o,pincite:s}}function Be(e,t){let{text:n,span:r}=e,i=/(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse short-form case citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=i[2].trim(),c=Number.parseInt(i[3],10),{originalStart:l,originalEnd:u}=A(r,t);return{type:`shortFormCase`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:l,originalEnd:u},confidence:.7,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,reporter:s,pincite:c}}const Ve=/^([^(]+?)\s*((?:\([^)]*\))*)$/,He=/\s*et\s+seq\.?\s*$/i;function q(e){let t=e.replace(He,``),n=t!==e,r=t.trim(),i=Ve.exec(r),a=i?.[2];return i!==null&&a?{section:i[1].trim(),subsection:a,hasEtSeq:n}:{section:r,hasEtSeq:n}}const Ue=/^(?:(\d+)\s+)?(.+?)\s*§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/;function We(t,n){let{text:r,span:i}=t,a=Ue.exec(r),o,s,c;a?(o=a[1]?Number.parseInt(a[1],10):void 0,s=a[2].trim(),c=a[3]):(s=r,c=``);let l=e.i(s),u=l?.jurisdiction,d=s,{section:f,subsection:p,hasEtSeq:m}=q(c),{originalStart:h,originalEnd:g}=A(i,n),_=r.includes(`§`),v;return v=l&&_?.95:l?.85:_?.6:.4,o!==void 0&&(v+=.05),p&&(v+=.05),v=Math.min(v,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:h,originalEnd:g},confidence:v,matchedText:r,processTimeMs:0,patternsChecked:1,title:o,code:d,section:f,subsection:p,pincite:p,jurisdiction:u,hasEtSeq:m||void 0}}const Ge=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(.+)$/;function Ke(e,t){let{text:n,span:r}=e,i=Ge.exec(n),a,o,s;i?(a=Number.parseInt(i[1],10),o=i[2],s=i[3]):(o=n,s=``);let{section:c,subsection:l,hasEtSeq:u}=q(s),{originalStart:d,originalEnd:f}=A(r,t),p=i?.95:.3;return l&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c,subsection:l,pincite:l,jurisdiction:i?`IL`:void 0,hasEtSeq:u||void 0}}const qe=/^(\d+)\s+(\S+(?:\.\S+)*)\s*§§?\s*(.+)$/,Je=/^(\d+)\s+(\S+(?:\.\S+)*)\s+(?:Part|pt\.)\s+(.+)$/;function Ye(e,t){let{text:n,span:r}=e,i=qe.exec(n)??Je.exec(n),a,o,s;i?(a=Number.parseInt(i[1],10),o=i[2],s=i[3]):(o=e.patternId===`cfr`?`C.F.R.`:`U.S.C.`,s=n,a=void 0);let{section:c,subsection:l,hasEtSeq:u}=q(s),{originalStart:d,originalEnd:f}=A(r,t),p=.95;return a!==void 0&&(p+=.05),l&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:d,originalEnd:f},confidence:p,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:c,subsection:l,pincite:l,jurisdiction:`US`,hasEtSeq:u||void 0}}const Xe=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/s,Ze=/^(.*?)\s+(?:ch\.?|c\.?)\s*(\w+),?\s*§\s*(.+)$/,Qe={"n.y.":`NY`,"n.y":`NY`,ny:`NY`,"cal.":`CA`,cal:`CA`,"california.":`CA`,california:`CA`,"tex.":`TX`,tex:`TX`,"texas.":`TX`,texas:`TX`,"md.":`MD`,md:`MD`,"va.":`VA`,va:`VA`,"ala.":`AL`,ala:`AL`,"alabama.":`AL`,alabama:`AL`};function $e(e){return Qe[e.toLowerCase().replace(/\s+/g,``)]}function et(e){return e.replace(/^\s*Code\s+Ann\.\s*,\s*/i,``).replace(/^\s*Code\s*,\s*/i,``).replace(/\s+Code\s*$/i,``).replace(/\s+Ann\.?\s*$/i,``).replace(/,\s*$/,``).trim()}function tt(t,n){let{text:r,span:i}=t,a,o,s;if(t.patternId===`mass-chapter`){let e=Ze.exec(r);e?(a=`MA`,o=e[2],s=e[3]):(o=r,s=``)}else{let t=Xe.exec(r);if(t){a=$e(t[1]);let n=t[2],r=et(n);o=a&&e.a(a,r)?r:n.trim(),s=t[3]}else o=r,s=``}let{section:c,subsection:l,hasEtSeq:u}=q(s),{originalStart:d,originalEnd:f}=A(i,n),p=a?.95:.5;return l&&(p+=.05),p=Math.min(p,1),{type:`statute`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:d,originalEnd:f},confidence:p,matchedText:r,processTimeMs:0,patternsChecked:1,code:o,section:c,subsection:l,pincite:l,jurisdiction:a,hasEtSeq:u||void 0}}const nt=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/;function rt(e,t){let{text:n,span:r}=e,i=nt.exec(n),a,o,s;i?(a=i[1],o=i[2]||void 0,s=Number.parseInt(i[3],10)):a=n;let{originalStart:c,originalEnd:l}=A(r,t),u=.85;return s!==void 0&&(u+=.05),o&&(u+=.05),u=Math.min(u,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:u,matchedText:n,processTimeMs:0,patternsChecked:1,title:s,code:`U.S.C.`,section:a,subsection:o,pincite:o,jurisdiction:`US`}}function it(e,t){let{text:n,span:r}=e,i=/^(?:(\d+)\s+)?([A-Za-z.\s]+?)\s*§+\s*(\d+[A-Za-z0-9-]*)/.exec(n);if(!i){let{originalStart:e,originalEnd:i}=A(r,t);return{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:e,originalEnd:i},confidence:.3,matchedText:n,processTimeMs:0,patternsChecked:1,code:n,section:``}}let a=i[1]?Number.parseInt(i[1],10):void 0,o=i[2].trim(),s=i[3],{originalStart:c,originalEnd:l}=A(r,t),u=.5;return[`U.S.C.`,`C.F.R.`,`Cal. Civ. Code`,`Cal. Penal Code`,`N.Y. Civ. Prac. L. & R.`,`Tex. Civ. Prac. & Rem. Code`].some(e=>o.includes(e))&&(u+=.3),u=Math.min(u,1),{type:`statute`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:c,originalEnd:l},confidence:u,matchedText:n,processTimeMs:0,patternsChecked:1,title:a,code:o,section:s}}function at(e,t){switch(e.patternId){case`usc`:case`cfr`:return Ye(e,t);case`prose`:return rt(e,t);case`abbreviated-code`:return We(e,t);case`named-code`:case`mass-chapter`:return tt(e,t);case`chapter-act`:return Ke(e,t);default:return it(e,t)}}function ot(e,t){let{text:n,span:r}=e,i=/^(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)/.exec(n);if(!i)throw Error(`Failed to parse Statutes at Large citation: ${n}`);let a=i[1],o=/^\d+$/.test(a)?Number.parseInt(a,10):a,s=Number.parseInt(i[2],10),c=/\((?:.*?\s)?(\d{4})\)/.exec(n),l=c?Number.parseInt(c[1],10):void 0,{originalStart:u,originalEnd:d}=A(r,t);return{type:`statutesAtLarge`,text:n,span:{cleanStart:r.cleanStart,cleanEnd:r.cleanEnd,originalStart:u,originalEnd:d},confidence:.9,matchedText:n,processTimeMs:0,patternsChecked:1,volume:o,page:s,year:l}}const st=[{id:`federal-reporter`,regex:/\b(\d+(?:-\d+)?)\s+(F\.|F\.2d|F\.3d|F\.4th|F\.\s?Supp\.|F\.\s?Supp\.\s?2d|F\.\s?Supp\.\s?3d|F\.\s?Supp\.\s?4th|F\.\s?App'x)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`Federal Reporter (F., F.2d, F.3d, F.4th, F.Supp., F.App'x, etc.)`,type:`case`},{id:`supreme-court`,regex:/\b(\d+(?:-\d+)?)\s+(U\.\s?S\.|S\.\s?Ct\.|L\.\s?Ed\.(?:\s?2d)?)\s+(?:\(\d+\s+[A-Z][A-Za-z.]+\)\s+)?(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`U.S. Supreme Court reporters (with optional nominative reporter parenthetical)`,type:`case`},{id:`state-reporter`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z](?:(?! L\.[JQR\s])[A-Za-z.\d\s])+?)\s+(\d+|_{3,}|-{3,})(?=\s|$|\(|,|;|\.)/g,description:`State reporters (broad pattern allowing multi-word reporters, excludes journal patterns with " L.J/Q/Rev", validated against reporters-db in Phase 3)`,type:`case`}],ct=[{id:`law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.\s]+)\s+(\d+)\b/g,description:`Law review citations (e.g., "120 Harv. L. Rev. 500"), validated against journals-db in Phase 3`,type:`journal`}],lt=[{id:`state-vendor-neutral`,regex:/\b(\d{4})\s+([A-Z]{2}(?:\s+App\.?)?)\s+(\d+)\b/g,description:`State vendor-neutral citations (e.g., "2007 UT 49", "2017 WI 17", "2013 IL 112116")`,type:`neutral`},{id:`westlaw`,regex:/\b(\d{4})\s+WL\s+(\d+)\b/g,description:`WestLaw citations (e.g., "2021 WL 123456")`,type:`neutral`},{id:`lexis`,regex:/\b(\d{4})\s+U\.S\.(?:\s+(?:App|Dist)\.)?\s+LEXIS\s+(\d+)\b/g,description:`LexisNexis citations (e.g., "2021 U.S. LEXIS 5000", "2021 U.S. App. LEXIS 12345", "2021 U.S. Dist. LEXIS 67890")`,type:`neutral`},{id:`public-law`,regex:/\bPub\.\s?L\.(?:\s?No\.)?\s?(\d+-\d+)\b/g,description:`Public Law citations (e.g., "Pub. L. No. 117-58" or "Pub. L. 116-283")`,type:`publicLaw`},{id:`federal-register`,regex:/\b(\d+(?:-\d+)?)\s+Fed\.\s?Reg\.\s+(\d+)\b/g,description:`Federal Register citations (e.g., "86 Fed. Reg. 12345")`,type:`federalRegister`},{id:`statutes-at-large`,regex:/\b(\d+(?:-\d+)?)\s+Stat\.\s+(\d+)\b/g,description:`Statutes at Large citations (e.g., "124 Stat. 119")`,type:`statutesAtLarge`},{id:`compact-law-review`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.]+L\.(?:Rev|J|Q)\.)\s+(\d+)\b/g,description:`Compact law review citations without spaces (e.g., "93 Harv.L.Rev. 752")`,type:`journal`}],ut=[{id:`id`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]d\.(?:,?\s+at\s+(\d+(?:\s*[-–]\s*\d+)?))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/(?:^|(?<=\s)|(?<=["'(\[—]))\b[Ii]bid\.(?:,?\s+at\s+(\d+(?:\s*[-–]\s*\d+)?))?/g,description:`Ibid. citations (e.g., "Ibid." or "Ibid. at 125")`,type:`case`},{id:`supra`,regex:/\b([A-Z][a-zA-Z''\-]+\.?(?:(?:\s+v\.?\s+|\s+)[A-Z][a-zA-Z''\-]+\.?)*)\s*,?\s+supra(?:\s+note\s+(\d+))?(?:,?\s+at\s+(\d+))?/g,description:`Supra citations (e.g., "Smith, supra" or "Smith, supra, at 460")`,type:`case`},{id:`supra`,regex:/(?:^|(?<=\s)|(?<=[;.]))supra(?:\s+note\s+(\d+)(?:,?\s+at\s+(\d+))?|\s+at\s+(\d+)|\s+(?:§+|Part|p\.)\s*\S+)/g,description:`Standalone supra (e.g., "supra note 12" or "supra at 15")`,type:`case`},{id:`shortFormCase`,regex:/\b(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.''\s]+?(?:\d[a-z]{1,2})?)\s*,?\s+at\s+(\d+)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],dt=[{id:`usc`,regex:/\b(\d+)\s+(?:U\.S\.C\.?|USC)\s*§§?\s*(\d+[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`U.S. Code citations with optional subsections and et seq. (e.g., "42 U.S.C. § 1983(a)(1) et seq.")`,type:`statute`},{id:`cfr`,regex:/\b(\d+)\s+C\.?F\.?R\.?\s*(?:(?:Part|pt\.)\s+|§§?\s*)(\d+(?:\.\d+)?[A-Za-z0-9-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Code of Federal Regulations with Part or §, subsections, et seq. (e.g., "12 C.F.R. Part 226", "40 C.F.R. § 122.26(b)(14)")`,type:`statute`},{id:`prose`,regex:/\b[Ss]ection\s+(\d+[A-Za-z0-9-]*(?:\([^)]*\))*)\s+of\s+title\s+(\d+)\b/g,description:`Prose-form federal citations (e.g., "section 1983 of title 42"). Note: MD-style "section X of the Y Article" deferred to PR 3.`,type:`statute`},{id:`named-code`,regex:/\b(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+((?:[A-Za-z.&',\s]+?))\s*§§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Named-code state citations (NY, CA, TX, MD, VA, AL) with jurisdiction prefix + code name + §`,type:`statute`},{id:`mass-chapter`,regex:/\b(Mass\.?\s*Gen\.?\s*Laws|M\.?G\.?L\.?A?\.?|A\.?L\.?M\.?|G\.?\s*L\.?)\s+(?:ch\.?|c\.?)\s*(\w+),?\s*§\s*([\w./-]+(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Massachusetts chapter-based citations (e.g., "Mass. Gen. Laws ch. 93A, § 2")`,type:`statute`},{id:`chapter-act`,regex:/\b(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/([^\s(]+(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Illinois Compiled Statutes chapter-act citations (e.g., "735 ILCS 5/2-1001")`,type:`statute`},{id:`abbreviated-code`,regex:/\b(?:(\d+)\s+)?(Fla\.?\s*Stat(?:utes)?\.?(?:\s*Ann\.?)?|F\.?S\.?|R\.?C\.?|O\.?R\.?C\.?|Ohio\s+Rev\.?\s+Code(?:\s+Ann\.?)?|MCL[AS]?|M\.?C\.?L\.?|Mich\.?\s+Comp\.?\s+Laws(?:\s+(?:Ann|Serv)\.?)?|Utah\s+Code(?:\s+Ann\.?)?|U\.?C\.?A\.?|C\.?R\.?S\.?|Colo\.?\s+Rev\.?\s+Stat\.?(?:\s+Ann\.?)?|RCW|Wash\.?\s+Rev\.?\s+Code(?:\s+Ann\.?)?|G\.?S\.?|N\.?C\.?\s*Gen\.?\s*Stat\.?(?:\s+Ann\.?)?|N\.?C\.?G\.?S\.?|O\.?C\.?G\.?A\.?|Ga\.?\s+Code(?:\s+Ann\.?)?|Pa\.?\s*C\.?S\.?A?\.?|Pa\.?\s+Cons\.?\s+Stat\.?|P\.?S\.?|Ind(?:iana)?\.?\s+Code(?:\s+Ann\.?)?|Burns\s+Ind\.?\s+Code(?:\s+Ann\.?)?|I\.?C\.?|N\.?J\.?\s*S(?:tat)?\.?\s*A?\.?|Del\.?\s*(?:Code(?:\s+Ann\.?)?|C\.?))\s*§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)/g,description:`Abbreviated state code citations for 12 jurisdictions (FL, OH, MI, UT, CO, WA, NC, GA, PA, IN, NJ, DE)`,type:`statute`}];function ft(e,t=[...st,...dt,...ct,...lt,...ut]){let n=[];for(let r of t)try{let t=e.matchAll(r.regex);for(let e of t)n.push({text:e[0],span:{cleanStart:e.index,cleanEnd:e.index+e[0].length},type:r.type,patternId:r.id})}catch(e){console.warn(`Pattern ${r.id} threw error, skipping:`,e instanceof Error?e.message:String(e))}return n.sort((e,t)=>e.span.cleanStart-t.span.cleanStart),n}var pt=class{constructor(e){this.root=null,this.nextOrder=0,this.distanceFn=e}insert(e){let t={key:e,insertionOrder:this.nextOrder++,children:new Map};if(this.root===null){this.root=t;return}let n=this.root;for(;;){let r=this.distanceFn(e,n.key);if(r===0)return;let i=n.children.get(r);if(i)n=i;else{n.children.set(r,t);return}}}query(e,t){if(this.root===null)return[];let n=[],r=[this.root],i;for(;i=r.pop();){let a=this.distanceFn(e,i.key);a<=t&&n.push({key:i.key,distance:a,insertionOrder:i.insertionOrder});let o=a-t,s=a+t;for(let[e,t]of i.children)e>=o&&e<=s&&r.push(t)}return n.sort((e,t)=>e.distance-t.distance||e.insertionOrder-t.insertionOrder),n}};function mt(e,t,n=1/0){if(e.length===0)return Math.min(t.length,n+1);if(t.length===0)return Math.min(e.length,n+1);let r=e.length<=t.length?e:t,i=e.length<=t.length?t:e,a=r.length,o=Array.from({length:a+1},(e,t)=>t),s=Array(a+1);for(let e=1;e<=i.length;e++){s[0]=e;let t=e;for(let n=1;n<=a;n++)i[e-1]===r[n-1]?s[n]=o[n-1]:s[n]=1+Math.min(o[n],s[n-1],o[n-1]),s[n]<t&&(t=s[n]);if(t>n)return n+1;let c=o;o=s,s=c}return o[a]}function ht(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i]<=t?n=i+1:r=i}return n}function gt(e,t,n=/\n\n+/g){let r=new Map,i=[0],a;for(;(a=n.exec(e))!==null;)i.push(a.index+a[0].length);i.push(e.length);for(let e=0;e<t.length;e++){let n=t[e].span.originalStart;r.set(e,ht(i,n)-1)}return r}function _t(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r].span.cleanStart,a=0,o=0,s=t.length-1;for(;o<=s;){let e=o+s>>>1,n=t[e];if(i<n.start)s=e-1;else if(i>=n.end)o=e+1;else{a=n.footnoteNumber;break}}n.set(r,a)}return n}function vt(e,t,n,r,i=!1){if(r===`none`)return!0;let a=n.get(e),o=n.get(t);return!!(a===void 0||o===void 0||a===o||r===`footnote`&&i&&a===0)}var yt=class{constructor(e,t,n={}){this.citations=e,this.text=t,this.options={scopeStrategy:n.scopeStrategy??`none`,autoDetectParagraphs:n.autoDetectParagraphs??!0,paragraphBoundaryPattern:n.paragraphBoundaryPattern??/\n\n+/g,fuzzyPartyMatching:n.fuzzyPartyMatching??!0,partyMatchThreshold:n.partyMatchThreshold??.8,allowNestedResolution:n.allowNestedResolution??!1,reportUnresolved:n.reportUnresolved??!0,footnoteMap:n.footnoteMap},this.partyNameTree=new pt(mt),this.context={citationIndex:0,allCitations:e,lastFullCitation:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=gt(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=_t(e,this.options.footnoteMap))}resolve(){let e=[];for(let n=0;n<this.citations.length;n++){this.context.citationIndex=n;let r=this.citations[n],i;switch(r.type){case`id`:i=this.resolveId(r);break;case`supra`:i=this.resolveSupra(r);break;case`shortFormCase`:i=this.resolveShortFormCase(r);break;default:t(r)&&(this.context.lastFullCitation=n,this.trackFullCitation(r,n));break}e.push({...r,resolution:i})}return e}resolveId(e){let t=this.context.citationIndex,n;for(let e=t-1;e>=0;e--)if(this.citations[e].type===`case`){n=e;break}return n===void 0?this.createFailureResult(`No preceding full case citation found`):this.isWithinScope(n,t)?{resolvedTo:n,confidence:1}:this.createFailureResult(`Antecedent citation outside scope boundary`)}resolveSupra(e){if(!e.partyName)return;let t=this.context.citationIndex,n=this.normalizePartyName(e.partyName),r=n.length,i=this.options.partyMatchThreshold,a=r===0?0:Math.ceil(r*(1-i)/i),o=this.partyNameTree.query(n,a);o.sort((e,t)=>e.insertionOrder-t.insertionOrder);let s;for(let e of o){let n=this.context.fullCitationHistory.get(e.key);if(n===void 0||!this.isWithinScope(n,t,!0))continue;let i=Math.max(r,e.key.length),a=i===0?1:1-e.distance/i;(!s||a>s.similarity)&&(s={index:n,similarity:a})}if(!s)return this.createFailureResult(`No full citation found in scope`);if(s.similarity<this.options.partyMatchThreshold)return this.createFailureResult(`Party name similarity ${s.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`);let c=[];return s.similarity<1&&c.push(`Fuzzy match: similarity ${s.similarity.toFixed(2)}`),{resolvedTo:s.index,confidence:s.similarity,warnings:c.length>0?c:void 0}}resolveShortFormCase(e){let t=this.context.citationIndex;for(let n=t-1;n>=0;n--){let r=this.citations[n];if(r.type===`case`&&r.volume===e.volume&&this.normalizeReporter(r.reporter)===this.normalizeReporter(e.reporter))return this.isWithinScope(n,t,!0)?{resolvedTo:n,confidence:.95}:this.createFailureResult(`Matching citation outside scope boundary`)}return this.createFailureResult(`No matching full case citation found`)}trackFullCitation(e,t){if(e.type===`case`&&(e.defendantNormalized&&(this.context.fullCitationHistory.set(e.defendantNormalized,t),this.partyNameTree.insert(e.defendantNormalized)),e.plaintiffNormalized&&(this.context.fullCitationHistory.set(e.plaintiffNormalized,t),this.partyNameTree.insert(e.plaintiffNormalized)),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t),this.partyNameTree.insert(e)}}}extractPartyName(e){let t=e.span.originalStart,n=Math.max(0,t-100),r=this.text.substring(n,t),i=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*)\s+v\.?\s+[A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*,\s*$/);if(i)return this.stripSignalWords(i[1].trim());let a=r.match(/([A-Z][a-zA-Z]*(?:\s+[A-Z][a-zA-Z]*)*),\s*$/);if(a)return this.stripSignalWords(a[1].trim())}stripSignalWords(e){let t=e.replace(/^(?:In(?!\s+re\b)|See(?:\s+[Aa]lso)?|Compare|But(?:\s+[Ss]ee)?|Cf\.?|Also)\s+/i,``).trim();return t.length>0?t:e}normalizePartyName(e){return e.toLowerCase().replace(/\s+/g,` `).trim()}normalizeReporter(e){return e.toLowerCase().replace(/\s+/g,``).replace(/\./g,``)}isWithinScope(e,t,n=!1){return vt(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function bt(e,t,n){return new yt(e,t,n).resolve()}function xt(e,t=``){let n=new Map;if(e.length===0||t===``)return n;let r=new Set;for(let i=0;i<e.length;i++){let a=e[i];if(a.type!==`case`||r.has(i))continue;let o=[];for(let n=i+1;n<e.length;n++){let s=e[n];if(s.type!==`case`)break;let c=(n===i+1?a:e[n-1]).span.cleanEnd,l=s.span.cleanStart;if(l-c>20)break;let u=t.substring(c,l);if(!u.includes(`,`))break;let d=u.indexOf(`,`);if(u.length-d-1>5||t.substring(a.span.cleanEnd,s.span.cleanEnd).includes(`)`)||!St(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function St(e,t){let n=e.substring(t,t+200),r=n.indexOf(`(`);if(r===-1)return!1;let i=0;for(let e=r;e<n.length;e++)if(n[e]===`(`)i++;else if(n[e]===`)`&&(i--,i===0))return!0;return!1}const J=Ct();function Ct(){return[{regex:/^see\s+generally\b/i,signal:`see generally`},{regex:/^see\s+also\b/i,signal:`see also`},{regex:/^but\s+see\b/i,signal:`but see`},{regex:/^but\s+cf\.?(?=\s|$)/i,signal:`but cf`},{regex:/^compare\b/i,signal:`compare`},{regex:/^accord\b/i,signal:`accord`},{regex:/^contra\b/i,signal:`contra`},{regex:/^see\b/i,signal:`see`},{regex:/^cf\.?(?=\s|$)/i,signal:`cf`}].map(({regex:e,signal:t})=>({regex:e,endRegex:RegExp(`${e.source.replace(/^\^/,`(?<![a-z])`)}\\s*$`,e.flags),signal:t}))}function wt(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanEnd:e.span.cleanEnd}function Y(e){let t=`fullSpan`in e?e.fullSpan:void 0;return t?t.cleanStart:e.span.cleanStart}function X(e,t){e.signal=t}function Tt(e){let t=e.trimStart();for(let{regex:e,signal:n}of J){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function Et(e){let t=e.indexOf(`;`);if(t===-1||e.substring(0,t).trim()!==``)return{valid:!1};let n=e.substring(t+1).trim();if(n===``)return{valid:!0};let r=Tt(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function Dt(e,t){if(e.length<2)return;let n=[],r=[];for(let i=0;i<e.length-1;i++){let a=e[i],o=e[i+1];if(o.type===`case`&&o.subsequentHistoryOf){r.length>=2&&n.push(r),r=[];continue}if(a.type===`case`&&a.subsequentHistoryOf)continue;let s=wt(a),c=Y(o);if(c<=s){r.length>=2&&n.push(r),r=[];continue}let l=Et(t.substring(s,c));l.valid?(r.length===0&&r.push(i),r.push(i+1),l.signal&&!o.signal&&X(o,l.signal)):(r.length>=2&&n.push(r),r=[])}r.length>=2&&n.push(r);for(let t=0;t<n.length;t++){let r=n[t];if(r.length<2)continue;let i=`sc-${t}`;for(let t=0;t<r.length;t++){let n=e[r[t]];n.stringCitationGroupId=i,n.stringCitationIndex=t,n.stringCitationGroupSize=r.length}}for(let r of n){if(r.length<2)continue;let n=e[r[0]];if(n.signal)continue;let i=Math.max(0,Y(n)-60),a=t.substring(i,Y(n)).trim();for(let{endRegex:e,signal:t}of J)if(e.test(a)){X(n,t);break}}}function Ot(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.signal&&r.stringCitationGroupId)continue;let i=n>0?wt(e[n-1]):0,a=r.span.cleanStart;if(a<=i)continue;let o=t.substring(i,a),s=[];for(let{signal:e}of J){let t=e.replace(/\./g,`\\.`).replace(/\s+/g,`\\s+`),n=RegExp(`(?<![a-zA-Z])(${t})(?![a-zA-Z])`,`gi`),r;for(;(r=n.exec(o))!==null;)s.push({signal:e,start:r.index,end:r.index+r[0].length})}if(s.length===0)continue;s.sort((e,t)=>{let n=t.end-e.end;return n===0?t.end-t.start-(e.end-e.start):n});let c=s[0];for(let e of s)e.start<=c.start&&e.end>=c.end&&(c=e);X(r,c.signal)}}const Z=1750,kt=.1,At=new Set([`i.c.j.`,`u.n.t.s.`,`i.l.m.`,`i.l.r.`,`p.c.i.j.`,`a.c.`,`w.l.r.`,`all e.r.`,`q.b.`,`k.b.`,`ch.`,`co. rep.`,`e.c.r.`,`e.h.r.r.`,`c.m.l.r.`,`edw.`]);function jt(e){if(e.type===`case`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function Mt(e){switch(e.type){case`case`:return e.year;case`journal`:return e.year;case`federalRegister`:return e.year;case`statutesAtLarge`:return e.year;default:return}}const Nt=new Set([`court`,`rule`,`section`,`chapter`,`article`,`part`,`title`,`paragraph`,`clause`,`amendment`,`dismissed`,`granted`,`denied`,`filed`,`argued`]);function Q(e){return!!(e.toLowerCase().split(/\s+/).some(e=>Nt.has(e))||!e.includes(`.`)&&e.length>12)}const Pt=new Set(`the.a.an.in.on.at.but.and.for.by.to.with.from.as.if.so.nor.yet.not.no.then.when.where.who.what.how.that.this.these.those.he.she.it.they.we.his.her.its.their.our.was.were.is.are.has.had.been.being.did.does.do.may.shall.will.would.could.should.held.said.found.made.took.gave.see.also.january.february.march.april.june.july.august.september.october.november.december`.split(`.`));function Ft(t){if(t.type!==`case`)return!1;let n=t,r=typeof n.volume==`number`?n.volume:parseInt(String(n.volume),10);if(isNaN(r)||r<1||r>9)return!1;let i=n.reporter;if(!i||i.includes(`.`))return!1;let a=e.t();return a?(a.byAbbreviation.get(i.toLowerCase())??[]).length===0:i.toLowerCase().split(/\s+/).some(e=>Pt.has(e))}function It(e){let t=jt(e);if(t&&At.has(t.toLowerCase().trim())||t&&e.type===`case`&&Q(t)||Ft(e))return!0;let n=Mt(e);return n!==void 0&&n<Z}function Lt(e){let t=[],n=jt(e);if(n){let r=n.toLowerCase().trim();At.has(r)&&t.push(`Reporter "${n}" is a known non-US source`),e.type===`case`&&Q(n)&&t.push(`Reporter "${n}" contains prose words or is implausibly long`)}if(Ft(e)){let n=e;t.push(`Single-digit volume (${n.volume}) with unrecognized reporter "${n.reporter}" — likely a paragraph or footnote marker`)}let r=Mt(e);return r!==void 0&&r<Z&&t.push(`Year ${r} predates US legal reporting (threshold: ${Z})`),t}function Rt(e,t){if(t)return e.filter(e=>!It(e));for(let t of e){if(t.confidence===kt&&t.warnings?.length)continue;let e=Lt(t);if(e.length>0){t.confidence=kt;let n=e.map(e=>({level:`warning`,message:e,position:{start:t.span.originalStart,end:t.span.originalEnd}}));t.warnings=[...t.warnings||[],...n]}}return e}const zt=/^(\S+)\s+(.+)\s+(\d+)$/;function $(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=_(e,t?.cleaners),o;if(t?.detectFootnotes){let t=E(e);t.length>0&&(o=O(t,i))}let s=ft(r,t?.patterns||[...lt,...ut,...st,...De,...dt,...ct]),c=[],l=new Set,u=r.length<65536;for(let e of s){let t=u?e.span.cleanStart<<16|e.span.cleanEnd:`${e.span.cleanStart}-${e.span.cleanEnd}`;l.has(t)||(l.add(t),c.push(e))}let d=xt(c,r),f=new Map;for(let[e,t]of d.entries())for(let n of t)f.set(n,e);let p=[];for(let e=0;e<c.length;e++){let t=c[e],o;switch(t.type){case`case`:o=t.patternId===`id`||t.patternId===`ibid`?Re(t,i,r):t.patternId===`supra`?ze(t,i):t.patternId===`shortFormCase`?Be(t,i):W(t,i,r);break;case`statute`:o=at(t,i);break;case`journal`:o=Fe(t,i);break;case`neutral`:o=Ie(t,i);break;case`publicLaw`:o=Le(t,i);break;case`federalRegister`:o=Pe(t,i);break;case`statutesAtLarge`:o=ot(t,i);break;case`constitutional`:o=Ne(t,i);break;default:continue}if(a.length>0&&(o.warnings=[...o.warnings||[],...a]),o.processTimeMs=performance.now()-n,o.type===`case`){let t=d.has(e),n=f.has(e);if(t||n){let r=c[n?f.get(e)??e:e],i=zt.exec(r.text);if(i){let[,n,r,a]=i;if(o.groupId=`${n}-${r.replace(/\s+/g,`.`)}-${a}`,t){let t=d.get(e)??[];o.parallelCitations=t.map(e=>{let t=c[e],n=zt.exec(t.text);if(n){let[,e,t,r]=n;return{volume:/^\d+$/.test(e)?Number.parseInt(e,10):e,reporter:t,page:Number.parseInt(r,10)}}return{volume:0,reporter:``,page:0}})}}}}p.push(o)}Vt(p),Dt(p,r),Ot(p,r);let m=Rt(p,t?.filterFalsePositives??!1);return o&&k(m,o),t?.resolve?bt(m,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):m}async function Bt(e,t){return $(e,t)}function Vt(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type!==`case`||!r.subsequentHistoryEntries)continue;let i=r.subsequentHistoryEntries,a=0;for(let r=n+1;r<e.length&&a<i.length;r++){let o=e[r];if(o.type!==`case`)continue;let s=i[a].signalSpan.cleanEnd;o.span.cleanStart>=s&&(t.push({parentIdx:n,childIdx:r,signal:i[a].signal}),a++)}}if(t.length===0)return;let n=new y(e.length);for(let e of t)n.union(e.parentIdx,e.childIdx);let r=new Map;for(let e of t)r.set(e.childIdx,e.signal);for(let[t,i]of n.components()){if(i.length===1)continue;let n=e[t];if(n.type!==`case`)continue;let a=[...n.subsequentHistoryEntries??[]];for(let n of i){if(n===t)continue;let i=e[n];if(i.type!==`case`)continue;let o=r.get(n);if(o&&(i.subsequentHistoryOf={index:t,signal:o},i.subsequentHistoryEntries)){for(let e of i.subsequentHistoryEntries)a.push({...e,order:a.length});i.subsequentHistoryEntries=void 0}}n.subsequentHistoryEntries=a}}exports.DocumentResolver=yt,exports.applyFalsePositiveFilters=Rt,exports.assertUnreachable=a,exports.cleanText=_,exports.detectFootnotes=E,exports.extractCase=W,exports.extractCitations=$,exports.extractCitationsAsync=Bt,exports.extractConstitutional=Ne,exports.extractFederalRegister=Pe,exports.extractJournal=Fe,exports.extractNeutral=Ie,exports.extractPublicLaw=Le,exports.extractStatute=at,exports.extractStatutesAtLarge=ot,exports.isCaseCitation=r,exports.isCitationType=i,exports.isFullCitation=t,exports.isShortFormCitation=n,exports.normalizeCourt=V,exports.parsePincite=B,exports.resolveCitations=bt,exports.tokenize=ft;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|