eyecite-ts 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as PinciteInfo, C as StatuteCitation, D as Warning, E as SupraCitation, O as Span, S as ShortFormCitationType, T as SubsequentHistoryEntry, _ as Parenthetical, a as CitationType, b as ShortFormCaseCitation, c as ExtractorMap, d as FullCitation, f as FullCitationType, g as NeutralCitation, h as JournalCitation, i as CitationSignal, j as parsePincite, k as TransformationMap, l as FederalRegisterCitation, m as IdCitation, n as CitationBase, o as ConstitutionalCitation, p as HistorySignal, r as CitationOfType, s as CourtInference, t as Citation, u as FullCaseCitation, v as ParentheticalType, w as StatutesAtLargeCitation, x as ShortFormCitation, y as PublicLawCitation } from "./citation-By8QXtGC.cjs";
2
- import { a as FootnoteMap, i as ScopeStrategy, n as ResolutionResult, o as FootnoteZone, r as ResolvedCitation, t as ResolutionOptions } from "./types-C_5aOCZ1.cjs";
1
+ import { A as PinciteInfo, C as StatuteCitation, D as Warning, E as SupraCitation, O as Span, S as ShortFormCitationType, T as SubsequentHistoryEntry, _ as Parenthetical, a as CitationType, b as ShortFormCaseCitation, c as ExtractorMap, d as FullCitation, f as FullCitationType, g as NeutralCitation, h as JournalCitation, i as CitationSignal, j as parsePincite, k as TransformationMap, l as FederalRegisterCitation, m as IdCitation, n as CitationBase, o as ConstitutionalCitation, p as HistorySignal, r as CitationOfType, s as CourtInference, t as Citation, u as FullCaseCitation, v as ParentheticalType, w as StatutesAtLargeCitation, x as ShortFormCitation, y as PublicLawCitation } from "./citation-BB_vC_7x.cjs";
2
+ import { a as FootnoteMap, i as ScopeStrategy, n as ResolutionResult, o as FootnoteZone, r as ResolvedCitation, t as ResolutionOptions } from "./types-D0xwBESF.cjs";
3
3
 
4
4
  //#region src/types/guards.d.ts
5
5
  /**
@@ -565,6 +565,7 @@ declare class DocumentResolver {
565
565
  private readonly text;
566
566
  private readonly options;
567
567
  private readonly context;
568
+ private readonly partyNameTree;
568
569
  /**
569
570
  * Creates a new DocumentResolver.
570
571
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/guards.ts","../src/patterns/casePatterns.ts","../src/extract/extractCitations.ts","../src/extract/filterFalsePositives.ts","../src/clean/cleanText.ts","../src/tokenize/tokenizer.ts","../src/extract/extractCase.ts","../src/extract/extractConstitutional.ts","../src/extract/extractFederalRegister.ts","../src/extract/extractJournal.ts","../src/extract/extractNeutral.ts","../src/extract/extractPublicLaw.ts","../src/extract/extractStatute.ts","../src/extract/extractStatutesAtLarge.ts","../src/extract/courtNormalization.ts","../src/resolve/DocumentResolver.ts","../src/resolve/index.ts","../src/footnotes/detectFootnotes.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/guards.ts","../src/patterns/casePatterns.ts","../src/extract/extractCitations.ts","../src/extract/filterFalsePositives.ts","../src/clean/cleanText.ts","../src/tokenize/tokenizer.ts","../src/extract/extractCase.ts","../src/extract/extractConstitutional.ts","../src/extract/extractFederalRegister.ts","../src/extract/extractJournal.ts","../src/extract/extractNeutral.ts","../src/extract/extractPublicLaw.ts","../src/extract/extractStatute.ts","../src/extract/extractStatutesAtLarge.ts","../src/extract/courtNormalization.ts","../src/resolve/DocumentResolver.ts","../src/resolve/index.ts","../src/footnotes/detectFootnotes.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as PinciteInfo, C as StatuteCitation, D as Warning, E as SupraCitation, O as Span, S as ShortFormCitationType, T as SubsequentHistoryEntry, _ as Parenthetical, a as CitationType, b as ShortFormCaseCitation, c as ExtractorMap, d as FullCitation, f as FullCitationType, g as NeutralCitation, h as JournalCitation, i as CitationSignal, j as parsePincite, k as TransformationMap, l as FederalRegisterCitation, m as IdCitation, n as CitationBase, o as ConstitutionalCitation, p as HistorySignal, r as CitationOfType, s as CourtInference, t as Citation, u as FullCaseCitation, v as ParentheticalType, w as StatutesAtLargeCitation, x as ShortFormCitation, y as PublicLawCitation } from "./citation-BwXdJTA9.mjs";
2
- import { a as FootnoteMap, i as ScopeStrategy, n as ResolutionResult, o as FootnoteZone, r as ResolvedCitation, t as ResolutionOptions } from "./types-BfYnmSHC.mjs";
1
+ import { A as PinciteInfo, C as StatuteCitation, D as Warning, E as SupraCitation, O as Span, S as ShortFormCitationType, T as SubsequentHistoryEntry, _ as Parenthetical, a as CitationType, b as ShortFormCaseCitation, c as ExtractorMap, d as FullCitation, f as FullCitationType, g as NeutralCitation, h as JournalCitation, i as CitationSignal, j as parsePincite, k as TransformationMap, l as FederalRegisterCitation, m as IdCitation, n as CitationBase, o as ConstitutionalCitation, p as HistorySignal, r as CitationOfType, s as CourtInference, t as Citation, u as FullCaseCitation, v as ParentheticalType, w as StatutesAtLargeCitation, x as ShortFormCitation, y as PublicLawCitation } from "./citation-Bg1QDUYb.mjs";
2
+ import { a as FootnoteMap, i as ScopeStrategy, n as ResolutionResult, o as FootnoteZone, r as ResolvedCitation, t as ResolutionOptions } from "./types-vAgBB1j3.mjs";
3
3
 
4
4
  //#region src/types/guards.d.ts
5
5
  /**
@@ -565,6 +565,7 @@ declare class DocumentResolver {
565
565
  private readonly text;
566
566
  private readonly options;
567
567
  private readonly context;
568
+ private readonly partyNameTree;
568
569
  /**
569
570
  * Creates a new DocumentResolver.
570
571
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/guards.ts","../src/patterns/casePatterns.ts","../src/extract/extractCitations.ts","../src/extract/filterFalsePositives.ts","../src/clean/cleanText.ts","../src/tokenize/tokenizer.ts","../src/extract/extractCase.ts","../src/extract/extractConstitutional.ts","../src/extract/extractFederalRegister.ts","../src/extract/extractJournal.ts","../src/extract/extractNeutral.ts","../src/extract/extractPublicLaw.ts","../src/extract/extractStatute.ts","../src/extract/extractStatutesAtLarge.ts","../src/extract/courtNormalization.ts","../src/resolve/DocumentResolver.ts","../src/resolve/index.ts","../src/footnotes/detectFootnotes.ts"],"mappings":";;;;;;;iBAYgB,cAAA,CAAe,QAAA,EAAU,QAAA,GAAW,QAAA,IAAY,YAAA;;;;iBAgBhD,mBAAA,CAAoB,QAAA,EAAU,QAAA,GAAW,QAAA,IAAY,iBAAA;;;;iBAOrD,cAAA,CAAe,QAAA,EAAU,QAAA,GAAW,QAAA,IAAY,gBAAA;;AAPhE;;;iBAegB,cAAA,WAAyB,YAAA,CAAA,CACvC,QAAA,EAAU,QAAA,EACV,IAAA,EAAM,CAAA,GACL,QAAA,IAAY,cAAA,CAAe,CAAA;;;;;;;AAX9B;;;;;;;;;;iBA+BgB,iBAAA,CAAkB,CAAA;;;UClDjB,OAAA;EACf,EAAA;EACA,KAAA,EAAO,MAAA;EACP,WAAA;EACA,IAAA,EAAM,gBAAA;AAAA;;;;ADRR;;UE2CiB,cAAA;EF3C+C;;;;;;;AAgBhE;;;;;;;EE0CE,QAAA,GAAW,KAAA,EAAO,IAAA;;;AFnCpB;;;;;;;;;;AAQA;;EE2CE,QAAA,GAAW,OAAA;;;;;;;;;;;;;;EAeX,OAAA;;;;;AFnCF;;;;;;;;AClDA;;ECqGE,iBAAA,GAAoB,iBAAA;EDjGd;;;;;;;;;;;;ACmCR;;;;EAgFE,oBAAA;;EAGA,eAAA;AAAA;;;;;;;;;;;;;AA6DF;;;;;;;;;;;AAIA;;;;;;;;;;AA8OA;;;;;;;;;;;;;;;;AAIA;;;;;;;;;iBAtPgB,gBAAA,CACd,IAAA,UACA,OAAA,EAAS,cAAA;EAAmB,OAAA;AAAA,IAC3B,gBAAA;AAAA,iBACa,gBAAA,CAAiB,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,QAAA;;;;;;ACjE1E;;;;;;;;;;;;;AC1HA;;;;iBFyasB,qBAAA,CACpB,IAAA,UACA,OAAA,EAAS,cAAA;EAAmB,OAAA;AAAA,IAC3B,OAAA,CAAQ,gBAAA;AAAA,iBACW,qBAAA,CACpB,IAAA,UACA,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,QAAA;;;;AFpaX;;;;;;iBG8GgB,yBAAA,CAA0B,SAAA,EAAW,QAAA,IAAY,MAAA,YAAkB,QAAA;;;;;AH9HnF;UIIiB,eAAA;;EAEf,OAAA;;EAGA,iBAAA,EAAmB,iBAAA;;EAGnB,QAAA,EAAU,OAAA;AAAA;;AJIZ;;;;;;;;;;AAOA;;;;;iBIQgB,SAAA,CACd,QAAA,UACA,QAAA,GAAU,KAAA,EAAO,IAAA,uBAUhB,eAAA;;;;;;;;;;UC3Bc,KAAA;ELOD;EKLd,IAAA;ELK8D;EKF9D,IAAA,EAAM,IAAA,CAAK,IAAA;;EAGX,IAAA,EAAM,OAAA;;EAGN,SAAA;AAAA;ALIF;;;;;;;;;;;;;;;;;;;;;AAuBA;;;;;;;;AClDA;;;;;;;AD2BA,iBKmCgB,QAAA,CACd,WAAA,UACA,QAAA,GAAU,OAAA,KAOT,KAAA;;;;;;;;;ALpDH;;;;;;;;;;AAQA;;;;;;;;;;;;;;;;;;;;;AAuBA;;;;;;;;AClDA;;;;;;iBKsqBgB,WAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,EACnB,WAAA,YACC,gBAAA;;;;AN9qBH;;;;;;iBOuIgB,qBAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,sBAAA;;;;;;AP1HH;;;;;;;;;;AAOA;;;;;;;;;;AAQA;;;;;;;;;;iBQGgB,sBAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,uBAAA;;;;;;ARrBH;;;;;;;;;;AAOA;;;;;;;;;;AAQA;;;;;;;;;;;;;;;iBSQgB,cAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,eAAA;;;;;;AT1BH;;;;;;;;;;AAOA;;;;;;;;;;AAQA;;;;;;;;;;;iBUIgB,cAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,eAAA;;;;;;AVtBH;;;;;;;;;;AAOA;;;;;;;;;;AAQA;;;;;;;;;;;;iBWKgB,gBAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,iBAAA;;;;;;;iBC+Ca,cAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,eAAA;;;iBCrFa,sBAAA,CACd,KAAA,EAAO,KAAA,EACP,iBAAA,EAAmB,iBAAA,GAClB,uBAAA;;;;;;;AbPH;;;;;;;;iBcAgB,cAAA,CAAe,KAAA;;;;AdgB/B;;;ceKa,gBAAA;EAAA,iBACM,SAAA;EAAA,iBACA,IAAA;EAAA,iBACA,OAAA;EAAA,iBAGA,OAAA;;;AfJnB;;;;;EeaE,WAAA,CAAY,SAAA,EAAW,QAAA,IAAY,IAAA,UAAc,OAAA,GAAS,iBAAA;;;;;AfL5D;EekDE,OAAA,CAAA,GAAW,gBAAA;;;;UA2CH,SAAA;;;;UAgCA,YAAA;;;;UAiDA,oBAAA;;;;;;UAsCA,iBAAA;EfjNoB;AAoB9B;;;EApB8B,Qe4OpB,gBAAA;EfxNwB;;;;AClDlC;EDkDkC,QewPxB,gBAAA;;;;UAWA,kBAAA;;;;UAUA,iBAAA;;;;UAUA,aAAA;;AblSV;;UamTU,mBAAA;AAAA;;;;;;;AfvUV;;;;;;iBgBFgB,gBAAA,CACd,SAAA,EAAW,QAAA,IACX,IAAA,UACA,OAAA,GAAU,iBAAA,GACT,gBAAA;;;;;;AhBzBH;;;;;;;;iBiBKgB,eAAA,CAAgB,IAAA,WAAe,WAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/guards.ts","../src/patterns/casePatterns.ts","../src/extract/extractCitations.ts","../src/extract/filterFalsePositives.ts","../src/clean/cleanText.ts","../src/tokenize/tokenizer.ts","../src/extract/extractCase.ts","../src/extract/extractConstitutional.ts","../src/extract/extractFederalRegister.ts","../src/extract/extractJournal.ts","../src/extract/extractNeutral.ts","../src/extract/extractPublicLaw.ts","../src/extract/extractStatute.ts","../src/extract/extractStatutesAtLarge.ts","../src/extract/courtNormalization.ts","../src/resolve/DocumentResolver.ts","../src/resolve/index.ts","../src/footnotes/detectFootnotes.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{n as e,r as t}from"./knownCodes-MkDSiR1j.mjs";function n(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 r(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function i(e){return e.type===`case`}function a(e,t){return e.type===t}function o(e){throw Error(`Unexpected value: ${e}`)}function s(e){return e.replace(/<[^>]+>/g,``)}function c(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]+/g,` `).replace(/ {2,}/g,` `)}function l(e){return e.normalize(`NFKC`)}function u(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function d(e){return e.replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function f(e){return e.replace(/&sect;/gi,`§`).replace(/&para;/gi,`¶`).replace(/&amp;/gi,`&`).replace(/&nbsp;/gi,` `).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&apos;/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 p(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 m(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}function h(e,t=[s,f,c,l,d,u,m,p]){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}}return{cleaned:n,transformationMap:{cleanToOriginal:r,originalToClean:i},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}}function _(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 v(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 y(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=v(e,n[1]||n[2],a);if(!o)continue;let s=_(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 b=/^\s*[-_]{5,}\s*$/m;function x(e){let t=b.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 S=/<[^>]+>/;function C(e){if(S.test(e)){let t=y(e);if(t.length>0)return t}return x(e)}function w(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 T(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??w(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??w(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function E(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 D(e,t){return{originalStart:t.cleanToOriginal.get(e.cleanStart)??e.cleanStart,originalEnd:t.cleanToOriginal.get(e.cleanEnd)??e.cleanEnd}}const O={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 k(e){let t=O[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}function A(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 j(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=k(t[1]),n=Number.parseInt(t[2],10),r={year:Number.parseInt(t[3],10),month:e,day:n};return{iso:A(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=k(n[1]),t=Number.parseInt(n[2],10),r={year:Number.parseInt(n[3],10),month:e,day:t};return{iso:A(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:A(n),parsed:n}}let i=e.match(/\b(\d{4})\b/);if(i){let e={year:Number.parseInt(i[1],10)};return{iso:A(e),parsed:e}}}function M(e){return{level:e,jurisdiction:`federal`,confidence:1}}function N(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function P(e){return{level:e,jurisdiction:`state`,confidence:.7}}const F=new Map([[`U.S.`,M(`supreme`)],[`S.Ct.`,M(`supreme`)],[`L.Ed.`,M(`supreme`)],[`L.Ed.2d`,M(`supreme`)],[`S. Ct.`,M(`supreme`)],[`L. Ed.`,M(`supreme`)],[`L. Ed. 2d`,M(`supreme`)],[`U. S.`,M(`supreme`)],[`L.Ed. 2d`,M(`supreme`)],[`L. Ed.2d`,M(`supreme`)],[`F.`,M(`appellate`)],[`F.2d`,M(`appellate`)],[`F.3d`,M(`appellate`)],[`F.4th`,M(`appellate`)],[`F. App'x`,M(`appellate`)],[`F.Supp.`,M(`trial`)],[`F.Supp.2d`,M(`trial`)],[`F.Supp.3d`,M(`trial`)],[`F.Supp.4th`,M(`trial`)],[`F. Supp.`,M(`trial`)],[`F. Supp. 2d`,M(`trial`)],[`F. Supp. 3d`,M(`trial`)],[`F. Supp. 4th`,M(`trial`)],[`F.R.D.`,M(`trial`)],[`B.R.`,M(`trial`)],[`Cal.`,N(`supreme`,`CA`)],[`Cal.2d`,N(`supreme`,`CA`)],[`Cal.3d`,N(`supreme`,`CA`)],[`Cal.4th`,N(`supreme`,`CA`)],[`Cal.5th`,N(`supreme`,`CA`)],[`Cal.App.`,N(`appellate`,`CA`)],[`Cal.App.2d`,N(`appellate`,`CA`)],[`Cal.App.3d`,N(`appellate`,`CA`)],[`Cal.App.4th`,N(`appellate`,`CA`)],[`Cal.App.5th`,N(`appellate`,`CA`)],[`Cal.Rptr.`,N(`unknown`,`CA`)],[`Cal.Rptr.2d`,N(`unknown`,`CA`)],[`Cal.Rptr.3d`,N(`unknown`,`CA`)],[`N.Y.`,N(`supreme`,`NY`)],[`N.Y.2d`,N(`supreme`,`NY`)],[`N.Y.3d`,N(`supreme`,`NY`)],[`A.D.`,N(`appellate`,`NY`)],[`A.D.2d`,N(`appellate`,`NY`)],[`A.D.3d`,N(`appellate`,`NY`)],[`Misc.`,N(`trial`,`NY`)],[`Misc.2d`,N(`trial`,`NY`)],[`Misc.3d`,N(`trial`,`NY`)],[`N.Y.S.`,N(`unknown`,`NY`)],[`N.Y.S.2d`,N(`unknown`,`NY`)],[`N.Y.S.3d`,N(`unknown`,`NY`)],[`Ill.`,N(`supreme`,`IL`)],[`Ill.2d`,N(`supreme`,`IL`)],[`Ill.App.`,N(`appellate`,`IL`)],[`Ill.App.2d`,N(`appellate`,`IL`)],[`Ill.App.3d`,N(`appellate`,`IL`)],[`Ill.Dec.`,N(`unknown`,`IL`)],[`Ohio St.`,N(`supreme`,`OH`)],[`Ohio St.2d`,N(`supreme`,`OH`)],[`Ohio St.3d`,N(`supreme`,`OH`)],[`Ohio App.3d`,N(`appellate`,`OH`)],[`Pa.`,N(`supreme`,`PA`)],[`Pa. Super.`,N(`appellate`,`PA`)],[`Tex.`,N(`supreme`,`TX`)],[`Fla.`,N(`supreme`,`FL`)],[`Mass.`,N(`supreme`,`MA`)],[`Mass. App. Ct.`,N(`appellate`,`MA`)],[`A.`,P(`unknown`)],[`A.2d`,P(`unknown`)],[`A.3d`,P(`unknown`)],[`S.E.`,P(`unknown`)],[`S.E.2d`,P(`unknown`)],[`S.E.3d`,P(`unknown`)],[`S.W.`,P(`unknown`)],[`S.W.2d`,P(`unknown`)],[`S.W.3d`,P(`unknown`)],[`N.E.`,P(`unknown`)],[`N.E.2d`,P(`unknown`)],[`N.E.3d`,P(`unknown`)],[`N.W.`,P(`unknown`)],[`N.W.2d`,P(`unknown`)],[`N.W.3d`,P(`unknown`)],[`So.`,P(`unknown`)],[`So.2d`,P(`unknown`)],[`So.3d`,P(`unknown`)],[`P.`,P(`unknown`)],[`P.2d`,P(`unknown`)],[`P.3d`,P(`unknown`)]]);function ee(e){return F.get(e)}const I=/^(?:at\s+)?(\d+)(?:[-–—](\d+))?\s*(?:(?:n|note)\s*\.?\s*(\d+))?$/i;function L(e){let t=e.trim();if(!t)return null;let n=I.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 R(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 z=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`]);function te(e){let t=Number.parseInt(e,10);return String(t)===e?t:e}const ne=/(?: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)\.?/,re=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s']+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+|_{3,}|-{3,})/,ie=/^[_-]{3,}$/,ae=/,\s*(\d+)/,oe=/\(([^)]+)\)/,se=/^(?:,\s*\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,ce=/^,\s*(\d+(?:-\d+)?)/,B=/\d\.\s+/g,le=/[\s,]/,ue=[[/^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 de(e){for(let[t,n]of ue){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const fe=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function pe(e){return fe.has(e)}const me=/^([a-z]+)\b/i,he=/([A-Z][A-Za-z0-9\s.,'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9\s.,'&()/-]+?)\s*,\s*$/,ge=/\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 _e(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*${ne.source}\\s*$`,`i`),``).trim(),t=t.replace(/,\s*$/,``).trim(),t&&/[A-Za-z]/.test(t)?t:void 0}function ve(e,t,n=150){let r=Math.max(0,t-n),i=e.substring(r,t),a=r,o=-1,s;for(;(s=B.exec(i))!==null;)o=s.index+s[0].length;o!==-1&&(i=i.substring(o),a=r+o);let c=he.exec(i);if(c&&!c[0].includes(`;`))return{caseName:`${c[1].trim()} v. ${c[2].trim()}`,nameStart:a+c.index};let l=ge.exec(i);if(l&&!l[0].includes(`;`))return{caseName:`${l[1]} ${l[2].trim()}`,nameStart:a+l.index}}function ye(e,t,n=500){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s;for(;a<o;){for(;a<o&&le.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=de(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 V(e){let t={},n=j(e);n&&(t.date=n,t.year=n.parsed.year);let r=_e(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 be(e){let t=me.exec(e);if(t){let n=t[1].toLowerCase();if(pe(n))return{kind:`explanatory`,text:e,type:n}}let n=V(e);return n.year||n.date||n.disposition?{kind:`metadata`,...n}:{kind:`explanatory`,text:e,type:`other`}}function H(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 xe(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:H(e),defendant:n,defendantNormalized:H(n)}}}else return{plaintiff:e,plaintiffNormalized:H(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=z.has(n)?n:void 0),e=e.substring(i[0].length).trim()}return{plaintiff:e||n[1].trim(),plaintiffNormalized:H(e||n[1].trim()),defendant:r,defendantNormalized:H(r),signal:t}}return{}}function U(e,t,n){let{text:r,span:i}=e,a=re.exec(r);if(!a)throw Error(`Failed to parse case citation: ${r}`);let o=te(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=ie.test(u),f=d?void 0:Number.parseInt(u,10),p=d?!0:void 0,m=ae.exec(r),h=m?Number.parseInt(m[1],10):void 0,g=m?L(m[1])??void 0:void 0,_,v,y,b,x,S,C,w=oe.exec(r);if(w&&!c){C=w[1];let e=V(C);_=e.year,v=e.court,y=e.date,b=e.disposition}if(n&&!C){let e=n.substring(i.cleanEnd),t=se.exec(e);if(t){C=t[1];let n=V(C);if(_=n.year,v=n.court,y=n.date,b=n.disposition,h===void 0){let t=ce.exec(e);t&&(h=Number.parseInt(t[1],10),g||=L(t[1])??void 0)}}}let T,E,O;if(n){O=ye(n,i.cleanEnd),E=O.parens;let e=C?E.slice(1):E;for(let t of e){let e=be(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&&O&&O.signals.length>0)for(let e=0;e<O.signals.length;e++){let{signal:n}=O.signals[e];k??=[];let{originalStart:r,originalEnd:i}=D({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=ve(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=xe(x);j=e.plaintiff,M=e.plaintiffNormalized,N=e.defendant,P=e.defendantNormalized,F=e.proceduralPrefix,I=e.signal}let{originalStart:z,originalEnd:ne}=D(i,t),B=.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))&&(B+=.3),_!==void 0){let e=new Date().getFullYear();_<=e&&(B+=.2)}return B=Math.min(B,1),p&&(B=.8),{type:`case`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:z,originalEnd:ne},confidence:B,matchedText:r,processTimeMs:0,patternsChecked:1,volume:o,reporter:s,page:f,nominativeVolume:c,nominativeReporter:l,pincite:h,pinciteInfo:g,court:v,normalizedCourt:R(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 W=`${String.raw`(?:art(?:icle)?\.?|amend(?:ment)?\.?)\s+([IVX]+|\d+)`}${String.raw`(?:[,;]\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]\s*cl\.?\s*(\d+))?`}`,Se=new RegExp(W,`i`),Ce=[{id:`us-constitution`,regex:new RegExp(String.raw`\b(?:United\s+States\s+Constitution|U\.?\s*S\.?\s+Const\.?)\s+${W}`,`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+${W}`,`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+${W}`,`g`),description:`Bare constitutional citations without jurisdiction prefix (e.g., "Const. art. I, § 8, cl. 3")`,type:`constitutional`}],G={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 we(e){let t=e.toUpperCase();if(t in G)return G[t];let n=Number.parseInt(e,10);return Number.isNaN(n)?void 0:n}const K={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`},Te=/amend/i,Ee=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s+Const/i;function De(e){let t=Ee.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in K)return K[n]}function q(e,t){let{text:n,span:r}=e,i=Se.exec(n),a,o,s,c;if(i){let e=we(i[1]);Te.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=De(n);break;default:l=void 0;break}let{originalStart:u,originalEnd:d}=D(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 J(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}=D(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 Oe(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}=D(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 ke(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}=D(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 Ae(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}=D(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 je(e,t){let{text:n,span:r}=e,i=/[Ii](?:d|bid)\.(?:\s+at\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}=D(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 Me(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+at\s+(\d+))?/.exec(n);if(!i)throw Error(`Failed to parse supra citation: ${n}`);let a=i[1],o=i[2]?Number.parseInt(i[2],10):void 0,{originalStart:s,originalEnd:c}=D(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 Ne(e,t){let{text:n,span:r}=e,i=/(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.\s]+?(?:\d[a-z])?)\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}=D(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 Pe=/^([^(]+?)\s*((?:\([^)]*\))*)$/,Fe=/\s*et\s+seq\.?\s*$/i;function Y(e){let t=e.replace(Fe,``),n=t!==e,r=t.trim(),i=Pe.exec(r),a=i?.[2];return i!==null&&a?{section:i[1].trim(),subsection:a,hasEtSeq:n}:{section:r,hasEtSeq:n}}const Ie=/^(?:(\d+)\s+)?(.+?)\s*§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/;function Le(t,n){let{text:r,span:i}=t,a=Ie.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(s),u=l?.jurisdiction,d=s,{section:f,subsection:p,hasEtSeq:m}=Y(c),{originalStart:h,originalEnd:g}=D(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 Re=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(.+)$/;function ze(e,t){let{text:n,span:r}=e,i=Re.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}=Y(s),{originalStart:d,originalEnd:f}=D(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 Be=/^(\d+)\s+(\S+(?:\.\S+)*)\s*§§?\s*(.+)$/,Ve=/^(\d+)\s+(\S+(?:\.\S+)*)\s+(?:Part|pt\.)\s+(.+)$/;function He(e,t){let{text:n,span:r}=e,i=Be.exec(n)??Ve.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}=Y(s),{originalStart:d,originalEnd:f}=D(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 Ue=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/s,We=/^(.*?)\s+(?:ch\.?|c\.?)\s*(\w+),?\s*§\s*(.+)$/,Ge={"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 Ke(e){return Ge[e.toLowerCase().replace(/\s+/g,``)]}function qe(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 Je(e,n){let{text:r,span:i}=e,a,o,s;if(e.patternId===`mass-chapter`){let e=We.exec(r);e?(a=`MA`,o=e[2],s=e[3]):(o=r,s=``)}else{let e=Ue.exec(r);if(e){a=Ke(e[1]);let n=e[2],r=qe(n);o=a&&t(a,r)?r:n.trim(),s=e[3]}else o=r,s=``}let{section:c,subsection:l,hasEtSeq:u}=Y(s),{originalStart:d,originalEnd:f}=D(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 Ye=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/;function Xe(e,t){let{text:n,span:r}=e,i=Ye.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}=D(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 Ze(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}=D(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}=D(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 Qe(e,t){switch(e.patternId){case`usc`:case`cfr`:return He(e,t);case`prose`:return Xe(e,t);case`abbreviated-code`:return Le(e,t);case`named-code`:case`mass-chapter`:return Je(e,t);case`chapter-act`:return ze(e,t);default:return Ze(e,t)}}function $e(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}=D(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 et=[{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`}],tt=[{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`}],nt=[{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`}],rt=[{id:`id`,regex:/\b[Ii]d\.(?:\s+at\s+(\d+))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/\b[Ii]bid\.(?:\s+at\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+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])?)\s+at\s+(\d+)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],it=[{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 at(e,t=[...et,...it,...tt,...nt,...rt]){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}function ot(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;let n=Array.from({length:e.length+1},()=>Array(t.length+1).fill(0));for(let t=0;t<=e.length;t++)n[t][0]=t;for(let e=0;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=e.length;r++)for(let i=1;i<=t.length;i++)e[r-1]===t[i-1]?n[r][i]=n[r-1][i-1]:n[r][i]=1+Math.min(n[r-1][i],n[r][i-1],n[r-1][i-1]);return n[e.length][t.length]}function st(e,t){let n=e.toLowerCase(),r=t.toLowerCase(),i=ot(n,r),a=Math.max(n.length,r.length);return a===0?1:1-i/a}function ct(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,a=0;for(let e=0;e<i.length-1;e++)if(n>=i[e]&&n<i[e+1]){a=e;break}r.set(e,a)}return r}function lt(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 ut(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 dt=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.context={citationIndex:0,allCitations:e,lastFullCitation:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=ct(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=lt(e,this.options.footnoteMap))}resolve(){let e=[];for(let t=0;t<this.citations.length;t++){this.context.citationIndex=t;let r=this.citations[t],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:n(r)&&(this.context.lastFullCitation=t,this.trackFullCitation(r,t));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;for(let[e,i]of this.context.fullCitationHistory){if(!this.isWithinScope(i,t,!0))continue;let a=st(n,e);(!r||a>r.similarity)&&(r={index:i,similarity:a})}if(!r)return this.createFailureResult(`No full citation found in scope`);if(r.similarity<this.options.partyMatchThreshold)return this.createFailureResult(`Party name similarity ${r.similarity.toFixed(2)} below threshold ${this.options.partyMatchThreshold}`);let i=[];return r.similarity<1&&i.push(`Fuzzy match: similarity ${r.similarity.toFixed(2)}`),{resolvedTo:r.index,confidence:r.similarity,warnings:i.length>0?i: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),e.plaintiffNormalized&&this.context.fullCitationHistory.set(e.plaintiffNormalized,t),!e.plaintiffNormalized&&!e.defendantNormalized)){let n=this.extractPartyName(e);if(n){let e=this.normalizePartyName(n);this.context.fullCitationHistory.set(e,t)}}}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 ut(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function ft(e,t,n){return new dt(e,t,n).resolve()}function pt(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(`)`)||!mt(t,s.span.cleanEnd))break;o.push(n),r.add(n)}o.length>0&&n.set(i,o)}return n}function mt(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=ht();function ht(){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 gt(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 _t(e,t){e.signal=t}function vt(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 yt(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=vt(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function bt(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=gt(a),c=Z(o);if(c<=s){r.length>=2&&n.push(r),r=[];continue}let l=yt(t.substring(s,c));l.valid?(r.length===0&&r.push(i),r.push(i+1),l.signal&&!o.signal&&_t(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)-30),a=t.substring(i,Z(n)).trim();for(let{endRegex:e,signal:t}of X)if(e.test(a)){_t(n,t);break}}}const Q=1750,xt=.1,St=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 Ct(e){if(e.type===`case`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function wt(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 Tt(e){let t=Ct(e);if(t&&St.has(t.toLowerCase().trim()))return!0;let n=wt(e);return n!==void 0&&n<Q}function Et(e){let t=[],n=Ct(e);if(n){let e=n.toLowerCase().trim();St.has(e)&&t.push(`Reporter "${n}" is a known non-US source`)}let r=wt(e);return r!==void 0&&r<Q&&t.push(`Year ${r} predates US legal reporting (threshold: ${Q})`),t}function Dt(e,t){if(t)return e.filter(e=>!Tt(e));for(let t of e){if(t.confidence===xt&&t.warnings?.length)continue;let e=Et(t);if(e.length>0){t.confidence=xt;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 Ot=/^(\S+)\s+(.+)\s+(\d+)$/;function $(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=h(e,t?.cleaners),o;if(t?.detectFootnotes){let t=C(e);t.length>0&&(o=T(t,i))}let s=at(r,t?.patterns||[...nt,...rt,...et,...Ce,...it,...tt]),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=pt(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`?je(t,i):t.patternId===`supra`?Me(t,i):t.patternId===`shortFormCase`?Ne(t,i):U(t,i,r);break;case`statute`:o=Qe(t,i);break;case`journal`:o=Oe(t,i);break;case`neutral`:o=ke(t,i);break;case`publicLaw`:o=Ae(t,i);break;case`federalRegister`:o=J(t,i);break;case`statutesAtLarge`:o=$e(t,i);break;case`constitutional`:o=q(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=Ot.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=Ot.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)}for(let e=0;e<p.length;e++){let t=p[e];if(t.type!==`case`||!t.subsequentHistoryEntries)continue;let n=t.subsequentHistoryEntries,r=0;for(let t=e+1;t<p.length&&r<n.length;t++){let i=p[t];if(i.type!==`case`)continue;let a=n[r].signalSpan.cleanEnd;if(i.span.cleanStart>=a){if(i.subsequentHistoryOf={index:e,signal:n[r].signal},i.subsequentHistoryEntries){for(let e of i.subsequentHistoryEntries)n.push({...e,order:n.length});i.subsequentHistoryEntries=void 0}r++}}}bt(p,r);let m=Dt(p,t?.filterFalsePositives??!1);return o&&E(m,o),t?.resolve?ft(m,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):m}async function kt(e,t){return $(e,t)}export{dt as DocumentResolver,Dt as applyFalsePositiveFilters,o as assertUnreachable,h as cleanText,C as detectFootnotes,U as extractCase,$ as extractCitations,kt as extractCitationsAsync,q as extractConstitutional,J as extractFederalRegister,Oe as extractJournal,ke as extractNeutral,Ae as extractPublicLaw,Qe as extractStatute,$e as extractStatutesAtLarge,i as isCaseCitation,a as isCitationType,n as isFullCitation,r as isShortFormCitation,R as normalizeCourt,L as parsePincite,ft as resolveCitations,at as tokenize};
1
+ import{n as e,r as t}from"./knownCodes-MkDSiR1j.mjs";function n(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 r(e){return e.type===`id`||e.type===`supra`||e.type===`shortFormCase`}function i(e){return e.type===`case`}function a(e,t){return e.type===t}function o(e){throw Error(`Unexpected value: ${e}`)}function s(e){return e.replace(/<[^>]+>/g,``)}function c(e){return e.replace(/[\t\n\r\u00A0\u2000-\u200A\u202F\u205F\u3000]+/g,` `).replace(/ {2,}/g,` `)}function l(e){return e.normalize(`NFKC`)}function u(e){return e.replace(/[\u201C\u201D]/g,`"`).replace(/[\u2018\u2019]/g,`'`)}function d(e){return e.replace(/[\u2014\u2015]/g,`---`).replace(/[\u2010\u2012\u2013]/g,`-`)}function f(e){return e.replace(/&sect;/gi,`§`).replace(/&para;/gi,`¶`).replace(/&amp;/gi,`&`).replace(/&nbsp;/gi,` `).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&apos;/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 p(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 m(e){return e.replace(/[\u2032\u2035]/g,`'`).replace(/\u200B|\u200C|\u200D|\u2060|\uFEFF/g,``)}var h=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 g(e,t=[s,f,c,l,d,u,m,p]){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}=_(t,a,r,i);r=e,i=o,n=a}}let a={cleanToOriginal:r,originalToClean:i,cleanToOriginalSegments:h.fromMap(r)};return{cleaned:n,transformationMap:a,warnings:[]}}function _(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 v=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 y(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 b(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 x(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=b(e,n[1]||n[2],a);if(!o)continue;let s=y(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 S=/^\s*[-_]{5,}\s*$/m;function C(e){let t=S.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 w=/<[^>]+>/;function T(e){if(w.test(e)){let t=x(e);if(t.length>0)return t}return C(e)}function E(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 D(e,t){return e.length===0?[]:e.map(e=>({start:t.originalToClean.get(e.start)??E(e.start,t.originalToClean,`forward`)??e.start,end:t.originalToClean.get(e.end)??E(e.end,t.originalToClean,`backward`)??e.end,footnoteNumber:e.footnoteNumber}))}function O(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 k(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 A={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 j(e){let t=A[e.toLowerCase().replace(/\.$/,``)];if(t===void 0)throw Error(`Invalid month name: ${e}`);return t}function M(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 N(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=j(t[1]),n=Number.parseInt(t[2],10),r={year:Number.parseInt(t[3],10),month:e,day:n};return{iso:M(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=j(n[1]),t=Number.parseInt(n[2],10),r={year:Number.parseInt(n[3],10),month:e,day:t};return{iso:M(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:M(n),parsed:n}}let i=e.match(/\b(\d{4})\b/);if(i){let e={year:Number.parseInt(i[1],10)};return{iso:M(e),parsed:e}}}function P(e){return{level:e,jurisdiction:`federal`,confidence:1}}function F(e,t){return{level:e,jurisdiction:`state`,state:t,confidence:1}}function I(e){return{level:e,jurisdiction:`state`,confidence:.7}}const L=new Map([[`U.S.`,P(`supreme`)],[`S.Ct.`,P(`supreme`)],[`L.Ed.`,P(`supreme`)],[`L.Ed.2d`,P(`supreme`)],[`S. Ct.`,P(`supreme`)],[`L. Ed.`,P(`supreme`)],[`L. Ed. 2d`,P(`supreme`)],[`U. S.`,P(`supreme`)],[`L.Ed. 2d`,P(`supreme`)],[`L. Ed.2d`,P(`supreme`)],[`F.`,P(`appellate`)],[`F.2d`,P(`appellate`)],[`F.3d`,P(`appellate`)],[`F.4th`,P(`appellate`)],[`F. App'x`,P(`appellate`)],[`F.Supp.`,P(`trial`)],[`F.Supp.2d`,P(`trial`)],[`F.Supp.3d`,P(`trial`)],[`F.Supp.4th`,P(`trial`)],[`F. Supp.`,P(`trial`)],[`F. Supp. 2d`,P(`trial`)],[`F. Supp. 3d`,P(`trial`)],[`F. Supp. 4th`,P(`trial`)],[`F.R.D.`,P(`trial`)],[`B.R.`,P(`trial`)],[`Cal.`,F(`supreme`,`CA`)],[`Cal.2d`,F(`supreme`,`CA`)],[`Cal.3d`,F(`supreme`,`CA`)],[`Cal.4th`,F(`supreme`,`CA`)],[`Cal.5th`,F(`supreme`,`CA`)],[`Cal.App.`,F(`appellate`,`CA`)],[`Cal.App.2d`,F(`appellate`,`CA`)],[`Cal.App.3d`,F(`appellate`,`CA`)],[`Cal.App.4th`,F(`appellate`,`CA`)],[`Cal.App.5th`,F(`appellate`,`CA`)],[`Cal.Rptr.`,F(`unknown`,`CA`)],[`Cal.Rptr.2d`,F(`unknown`,`CA`)],[`Cal.Rptr.3d`,F(`unknown`,`CA`)],[`N.Y.`,F(`supreme`,`NY`)],[`N.Y.2d`,F(`supreme`,`NY`)],[`N.Y.3d`,F(`supreme`,`NY`)],[`A.D.`,F(`appellate`,`NY`)],[`A.D.2d`,F(`appellate`,`NY`)],[`A.D.3d`,F(`appellate`,`NY`)],[`Misc.`,F(`trial`,`NY`)],[`Misc.2d`,F(`trial`,`NY`)],[`Misc.3d`,F(`trial`,`NY`)],[`N.Y.S.`,F(`unknown`,`NY`)],[`N.Y.S.2d`,F(`unknown`,`NY`)],[`N.Y.S.3d`,F(`unknown`,`NY`)],[`Ill.`,F(`supreme`,`IL`)],[`Ill.2d`,F(`supreme`,`IL`)],[`Ill.App.`,F(`appellate`,`IL`)],[`Ill.App.2d`,F(`appellate`,`IL`)],[`Ill.App.3d`,F(`appellate`,`IL`)],[`Ill.Dec.`,F(`unknown`,`IL`)],[`Ohio St.`,F(`supreme`,`OH`)],[`Ohio St.2d`,F(`supreme`,`OH`)],[`Ohio St.3d`,F(`supreme`,`OH`)],[`Ohio App.3d`,F(`appellate`,`OH`)],[`Pa.`,F(`supreme`,`PA`)],[`Pa. Super.`,F(`appellate`,`PA`)],[`Tex.`,F(`supreme`,`TX`)],[`Fla.`,F(`supreme`,`FL`)],[`Mass.`,F(`supreme`,`MA`)],[`Mass. App. Ct.`,F(`appellate`,`MA`)],[`A.`,I(`unknown`)],[`A.2d`,I(`unknown`)],[`A.3d`,I(`unknown`)],[`S.E.`,I(`unknown`)],[`S.E.2d`,I(`unknown`)],[`S.E.3d`,I(`unknown`)],[`S.W.`,I(`unknown`)],[`S.W.2d`,I(`unknown`)],[`S.W.3d`,I(`unknown`)],[`N.E.`,I(`unknown`)],[`N.E.2d`,I(`unknown`)],[`N.E.3d`,I(`unknown`)],[`N.W.`,I(`unknown`)],[`N.W.2d`,I(`unknown`)],[`N.W.3d`,I(`unknown`)],[`So.`,I(`unknown`)],[`So.2d`,I(`unknown`)],[`So.3d`,I(`unknown`)],[`P.`,I(`unknown`)],[`P.2d`,I(`unknown`)],[`P.3d`,I(`unknown`)]]);function ee(e){return L.get(e)}const R=/^(?:at\s+)?(\d+)(?:[-–—](\d+))?\s*(?:(?:n|note)\s*\.?\s*(\d+))?$/i;function z(e){let t=e.trim();if(!t)return null;let n=R.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 B(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 V=new Set([`see`,`see also`,`see generally`,`cf`,`but see`,`but cf`,`compare`,`accord`,`contra`]);function te(e){let t=Number.parseInt(e,10);return String(t)===e?t:e}const ne=/(?: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)\.?/,re=/^(\d+(?:-\d+)?)\s+([A-Za-z0-9.\s']+)\s+(?:\((\d+)\s+([A-Z][A-Za-z.]+)\)\s+)?(\d+|_{3,}|-{3,})/,ie=/^[_-]{3,}$/,ae=/,\s*(\d+)/,oe=/\(([^)]+)\)/,se=/^(?:,\s*\d+(?:-\d+)?)*(?:\s+(?:n|note)\s*\.?\s*\d+)?\s*\(([^)]+)\)/,ce=/^,\s*(\d+(?:-\d+)?)/,le=/\d\.\s+/g,ue=/[\s,]/,de=[[/^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 fe(e){for(let[t,n]of de){let r=t.exec(e);if(r)return{signal:n,matchLength:r[0].length}}}const pe=new Set([`holding`,`finding`,`stating`,`noting`,`explaining`,`quoting`,`citing`,`discussing`,`describing`,`recognizing`,`applying`,`rejecting`,`adopting`,`requiring`]);function me(e){return pe.has(e)}const he=/^([a-z]+)\b/i,ge=/([A-Z][A-Za-z0-9\s.,'&()/-]+?)\s+v(?:s)?\.?\s+([A-Za-z0-9\s.,'&()/-]+?)\s*,\s*$/,_e=/\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 ve(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*${ne.source}\\s*$`,`i`),``).trim(),t=t.replace(/,\s*$/,``).trim(),t&&/[A-Za-z]/.test(t)?t:void 0}function ye(e,t,n=150){let r=Math.max(0,t-n),i=e.substring(r,t),a=r,o=-1,s;for(;(s=le.exec(i))!==null;)o=s.index+s[0].length;o!==-1&&(i=i.substring(o),a=r+o);let c=ge.exec(i);if(c&&!c[0].includes(`;`))return{caseName:`${c[1].trim()} v. ${c[2].trim()}`,nameStart:a+c.index};let l=_e.exec(i);if(l&&!l[0].includes(`;`))return{caseName:`${l[1]} ${l[2].trim()}`,nameStart:a+l.index}}function be(e,t,n=500){let r=[],i=[],a=t,o=Math.min(e.length,t+n),s;for(;a<o;){for(;a<o&&ue.test(e[a]);)a++;if(a>=o||e[a]!==`(`){let t=e.substring(a,o),n=fe(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=N(e);n&&(t.date=n,t.year=n.parsed.year);let r=ve(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 xe(e){let t=he.exec(e);if(t){let n=t[1].toLowerCase();if(me(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 Se(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(/^(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=V.has(n)?n:void 0),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=re.exec(r);if(!a)throw Error(`Failed to parse case citation: ${r}`);let o=te(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=ie.test(u),f=d?void 0:Number.parseInt(u,10),p=d?!0:void 0,m=ae.exec(r),h=m?Number.parseInt(m[1],10):void 0,g=m?z(m[1])??void 0:void 0,_,v,y,b,x,S,C,w=oe.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=se.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=ce.exec(e);t&&(h=Number.parseInt(t[1],10),g||=z(t[1])??void 0)}}}let T,E,D;if(n){D=be(n,i.cleanEnd),E=D.parens;let e=C?E.slice(1):E;for(let t of e){let e=xe(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}=k({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 A=ee(s);if(!v&&A?.level===`supreme`&&A?.jurisdiction===`federal`&&(v=`scotus`),n){let e=ye(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=Se(x);j=e.plaintiff,M=e.plaintiffNormalized,N=e.defendant,P=e.defendantNormalized,F=e.proceduralPrefix,I=e.signal}let{originalStart:L,originalEnd:R}=k(i,t),V=.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))&&(V+=.3),_!==void 0){let e=new Date().getFullYear();_<=e&&(V+=.2)}return V=Math.min(V,1),p&&(V=.8),{type:`case`,text:r,span:{cleanStart:i.cleanStart,cleanEnd:i.cleanEnd,originalStart:L,originalEnd:R},confidence:V,matchedText:r,processTimeMs:0,patternsChecked:1,volume:o,reporter:s,page:f,nominativeVolume:c,nominativeReporter:l,pincite:h,pinciteInfo:g,court:v,normalizedCourt:B(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:A,signal:I}}const G=`${String.raw`(?:art(?:icle)?\.?|amend(?:ment)?\.?)\s+([IVX]+|\d+)`}${String.raw`(?:[,;]\s*§\s*([\w-]+))?`}${String.raw`(?:[,;]\s*cl\.?\s*(\d+))?`}`,Ce=new RegExp(G,`i`),we=[{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 Te(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 q={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`},Ee=/amend/i,De=/^([A-Za-z]+(?:\.\s*[A-Za-z]+)?(?:\.\s*[A-Za-z]+)?)\.?\s+Const/i;function Oe(e){let t=De.exec(e);if(!t)return;let n=t[1].replace(/\s+/g,``).replace(/\.$/g,``).toLowerCase();if(n in q)return q[n]}function J(e,t){let{text:n,span:r}=e,i=Ce.exec(n),a,o,s,c;if(i){let e=Te(i[1]);Ee.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=Oe(n);break;default:l=void 0;break}let{originalStart:u,originalEnd:d}=k(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 ke(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}=k(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 Ae(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}=k(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 je(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}=k(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 Me(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}=k(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 Ne(e,t){let{text:n,span:r}=e,i=/[Ii](?:d|bid)\.(?:\s+at\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}=k(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 Pe(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+at\s+(\d+))?/.exec(n);if(!i)throw Error(`Failed to parse supra citation: ${n}`);let a=i[1],o=i[2]?Number.parseInt(i[2],10):void 0,{originalStart:s,originalEnd:c}=k(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 Fe(e,t){let{text:n,span:r}=e,i=/(\d+(?:-\d+)?)\s+([A-Z][A-Za-z.\s]+?(?:\d[a-z])?)\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}=k(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 Ie=/^([^(]+?)\s*((?:\([^)]*\))*)$/,Le=/\s*et\s+seq\.?\s*$/i;function Y(e){let t=e.replace(Le,``),n=t!==e,r=t.trim(),i=Ie.exec(r),a=i?.[2];return i!==null&&a?{section:i[1].trim(),subsection:a,hasEtSeq:n}:{section:r,hasEtSeq:n}}const Re=/^(?:(\d+)\s+)?(.+?)\s*§?\s*(\d+[A-Za-z0-9.:/-]*(?:\([^)]*\))*(?:\s*et\s+seq\.?)?)$/;function ze(t,n){let{text:r,span:i}=t,a=Re.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(s),u=l?.jurisdiction,d=s,{section:f,subsection:p,hasEtSeq:m}=Y(c),{originalStart:h,originalEnd:g}=k(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 Be=/^(\d+)\s+(?:ILCS|Ill\.?\s*Comp\.?\s*Stat\.?)\s*(?:Ann\.?\s+)?(\d+)\/(.+)$/;function Ve(e,t){let{text:n,span:r}=e,i=Be.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}=Y(s),{originalStart:d,originalEnd:f}=k(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 He=/^(\d+)\s+(\S+(?:\.\S+)*)\s*§§?\s*(.+)$/,Ue=/^(\d+)\s+(\S+(?:\.\S+)*)\s+(?:Part|pt\.)\s+(.+)$/;function We(e,t){let{text:n,span:r}=e,i=He.exec(n)??Ue.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}=Y(s),{originalStart:d,originalEnd:f}=k(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 Ge=/^(N\.?\s*Y\.?|Cal(?:ifornia)?\.?|Tex(?:as)?\.?|Md\.?|Va\.?|Ala(?:bama)?\.?)\s+(.*?)\s*§§?\s*(.+)$/s,Ke=/^(.*?)\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 Je(e){return qe[e.toLowerCase().replace(/\s+/g,``)]}function Ye(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 Xe(e,n){let{text:r,span:i}=e,a,o,s;if(e.patternId===`mass-chapter`){let e=Ke.exec(r);e?(a=`MA`,o=e[2],s=e[3]):(o=r,s=``)}else{let e=Ge.exec(r);if(e){a=Je(e[1]);let n=e[2],r=Ye(n);o=a&&t(a,r)?r:n.trim(),s=e[3]}else o=r,s=``}let{section:c,subsection:l,hasEtSeq:u}=Y(s),{originalStart:d,originalEnd:f}=k(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 Ze=/[Ss]ection\s+(\d+[A-Za-z0-9-]*)((?:\([^)]*\))*)\s+of\s+title\s+(\d+)/;function Qe(e,t){let{text:n,span:r}=e,i=Ze.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}=k(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 $e(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}=k(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}=k(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 et(e,t){switch(e.patternId){case`usc`:case`cfr`:return We(e,t);case`prose`:return Qe(e,t);case`abbreviated-code`:return ze(e,t);case`named-code`:case`mass-chapter`:return Xe(e,t);case`chapter-act`:return Ve(e,t);default:return $e(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}=k(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 nt=[{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`}],rt=[{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`}],it=[{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`}],at=[{id:`id`,regex:/\b[Ii]d\.(?:\s+at\s+(\d+))?/g,description:`Id. citations (e.g., "Id." or "Id. at 253")`,type:`case`},{id:`ibid`,regex:/\b[Ii]bid\.(?:\s+at\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+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])?)\s+at\s+(\d+)\b/g,description:`Short-form case citations (e.g., "500 F.2d at 125")`,type:`case`}],ot=[{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 st(e,t=[...nt,...ot,...rt,...it,...at]){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 ct=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 lt(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 ut(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 dt(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,ut(i,n)-1)}return r}function ft(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 pt(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 mt=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 ct(lt),this.context={citationIndex:0,allCitations:e,lastFullCitation:void 0,fullCitationHistory:new Map,paragraphMap:new Map},this.options.autoDetectParagraphs&&(this.context.paragraphMap=dt(t,e,this.options.paragraphBoundaryPattern)),this.options.scopeStrategy===`footnote`&&this.options.footnoteMap&&(this.context.paragraphMap=ft(e,this.options.footnoteMap))}resolve(){let e=[];for(let t=0;t<this.citations.length;t++){this.context.citationIndex=t;let r=this.citations[t],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:n(r)&&(this.context.lastFullCitation=t,this.trackFullCitation(r,t));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 pt(e,t,this.context.paragraphMap,this.options.scopeStrategy,n)}createFailureResult(e){if(this.options.reportUnresolved)return{resolvedTo:void 0,failureReason:e,confidence:0}}};function X(e,t,n){return new mt(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 _t=vt();function vt(){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 yt(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 bt(e,t){e.signal=t}function xt(e){let t=e.trimStart();for(let{regex:e,signal:n}of _t){let r=e.exec(t);if(r)return{signal:n,length:r[0].length}}}function St(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=xt(n);return r&&n.substring(r.length).trim()===``?{valid:!0,signal:r.signal}:{valid:!1}}function Ct(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=yt(a),c=Z(o);if(c<=s){r.length>=2&&n.push(r),r=[];continue}let l=St(t.substring(s,c));l.valid?(r.length===0&&r.push(i),r.push(i+1),l.signal&&!o.signal&&bt(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)-30),a=t.substring(i,Z(n)).trim();for(let{endRegex:e,signal:t}of _t)if(e.test(a)){bt(n,t);break}}}const Q=1750,wt=.1,Tt=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 Et(e){if(e.type===`case`)return e.reporter;if(e.type===`journal`)return e.abbreviation}function Dt(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 Ot(e){let t=Et(e);if(t&&Tt.has(t.toLowerCase().trim()))return!0;let n=Dt(e);return n!==void 0&&n<Q}function kt(e){let t=[],n=Et(e);if(n){let e=n.toLowerCase().trim();Tt.has(e)&&t.push(`Reporter "${n}" is a known non-US source`)}let r=Dt(e);return r!==void 0&&r<Q&&t.push(`Year ${r} predates US legal reporting (threshold: ${Q})`),t}function At(e,t){if(t)return e.filter(e=>!Ot(e));for(let t of e){if(t.confidence===wt&&t.warnings?.length)continue;let e=kt(t);if(e.length>0){t.confidence=wt;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 jt=/^(\S+)\s+(.+)\s+(\d+)$/;function $(e,t){let n=performance.now(),{cleaned:r,transformationMap:i,warnings:a}=g(e,t?.cleaners),o;if(t?.detectFootnotes){let t=T(e);t.length>0&&(o=D(t,i))}let s=st(r,t?.patterns||[...it,...at,...nt,...we,...ot,...rt]),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`?Ne(t,i):t.patternId===`supra`?Pe(t,i):t.patternId===`shortFormCase`?Fe(t,i):W(t,i,r);break;case`statute`:o=et(t,i);break;case`journal`:o=Ae(t,i);break;case`neutral`:o=je(t,i);break;case`publicLaw`:o=Me(t,i);break;case`federalRegister`:o=ke(t,i);break;case`statutesAtLarge`:o=tt(t,i);break;case`constitutional`:o=J(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=jt.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=jt.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),Ct(p,r);let m=At(p,t?.filterFalsePositives??!1);return o&&O(m,o),t?.resolve?X(m,e,o?{...t.resolutionOptions,footnoteMap:o}:t.resolutionOptions):m}async function Mt(e,t){return $(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 v(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}}export{mt as DocumentResolver,At as applyFalsePositiveFilters,o as assertUnreachable,g as cleanText,T as detectFootnotes,W as extractCase,$ as extractCitations,Mt as extractCitationsAsync,J as extractConstitutional,ke as extractFederalRegister,Ae as extractJournal,je as extractNeutral,Me as extractPublicLaw,et as extractStatute,tt as extractStatutesAtLarge,i as isCaseCitation,a as isCitationType,n as isFullCitation,r as isShortFormCitation,B as normalizeCourt,z as parsePincite,X as resolveCitations,st as tokenize};
2
2
  //# sourceMappingURL=index.mjs.map