eyecite-ts 0.15.6 → 0.15.8

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.
@@ -0,0 +1,2 @@
1
+ let e=null;function t(){return e}function n(t){e=t}function r(e){return e.replace(/[\\^$*+?{}[\]|()]/g,`\\$&`).replace(/\.(?=[A-Za-z])/g,`\\.?\\s*`).replace(/\.\s+/g,`\\.?\\s+`).replace(/\.$/g,`\\.?`).replace(/ +/g,`\\s+`)}function i(){let e=[];for(let t of a)if(t.regexFragment)e.push(t.regexFragment);else for(let n of t.abbreviations)e.push(r(n));e.sort((e,t)=>t.length-e.length);let t=e.join(`|`);return RegExp(`\\b(?:(\\d+)\\s+)?(${t})\\s*,?\\s*(?:§§?|[Ss]ections?|[Ss]ec\\.?)?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9])|,(?=\\d))*(?:\\([^)]*\\)|\\[[^\\]]*\\])*(?:\\s*et\\s+seq\\.?)?)`,`g`)}const a=[{jurisdiction:`FL`,abbreviations:[`Fla. Stat. Ann.`,`Fla. Stat.`,`Fla Stat`,`F.S.`,`FS`],regexFragment:`Fla\\.?\\s*Stat(?:utes)?\\.?(?:\\s*Ann\\.?)?|F\\.?S\\.?`},{jurisdiction:`OH`,abbreviations:[`Ohio Rev. Code Ann.`,`Ohio Rev. Code`,`O.R.C.`,`ORC`,`RC`,`R.C.`],regexFragment:`Ohio\\s+Rev\\.?\\s+Code(?:\\s+Ann\\.?)?|O\\.?\\s*R\\.?\\s*C\\.?|R\\.?\\s*C\\.?`},{jurisdiction:`MI`,abbreviations:[`Mich. Comp. Laws Ann.`,`Mich. Comp. Laws Serv.`,`Mich. Comp. Laws`,`M.C.L.`,`MCLA`,`MCLS`,`MCL`],regexFragment:`Mich\\.?\\s+Comp\\.?\\s+Laws(?:\\s+(?:Ann|Serv)\\.?)?|M\\.?C\\.?L\\.?|MCL[AS]?`},{jurisdiction:`MI`,abbreviations:[`Mich. Stat. Ann.`,`MSA`],regexFragment:`Mich\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|MSA`},{jurisdiction:`UT`,abbreviations:[`Utah Code Ann.`,`Utah Code`,`U.C.A.`,`UCA`],regexFragment:`Utah\\s+Code(?:\\s+Ann\\.?)?|U\\.?C\\.?A\\.?`},{jurisdiction:`CO`,abbreviations:[`Colorado Revised Statutes Annotated`,`Colo. Rev. Stat. Ann.`,`Colorado Revised Statutes 1963`,`Colorado Revised Statutes 1973`,`Colorado Revised Statutes`,`Colo. Rev. Stat.`,`C.R.S. 1963`,`C.R.S. 1973`,`C.R.S.`,`CRS`],regexFragment:`Colo(?:rado)?\\.?\\s+Rev(?:ised)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?(?:\\s+19\\d{2})?|C\\.?R\\.?S\\.?(?:\\s+19\\d{2})?`},{jurisdiction:`WA`,abbreviations:[`Wash. Rev. Code Ann.`,`Wash. Rev. Code`,`RCW`],regexFragment:`Wash\\.?\\s+Rev\\.?\\s+Code(?:\\s+Ann\\.?)?|RCW`},{jurisdiction:`NC`,abbreviations:[`N.C. Gen. Stat. Ann.`,`N.C. Gen. Stat.`,`N.C.G.S.`,`NCGS`,`G.S.`,`GS`],regexFragment:`N\\.?C\\.?\\s*Gen\\.?\\s*Stat\\.?(?:\\s+Ann\\.?)?|N\\.?C\\.?G\\.?S\\.?|G\\.?S\\.?`},{jurisdiction:`GA`,abbreviations:[`Ga. Code Ann.`,`Ga. Code`,`O.C.G.A.`,`OCGA`],regexFragment:`Ga\\.?\\s+Code(?:\\s+Ann\\.?)?|O\\.?C\\.?G\\.?A\\.?`},{jurisdiction:`PA`,abbreviations:[`Pa. Cons. Stat.`,`Pa. C.S.A.`,`Pa. C.S.`,`Pa.C.S.A.`,`Pa.C.S.`],regexFragment:`Pa\\.?\\s*C\\.?\\s*S\\.?\\s*A?\\.?|Pa\\.?\\s+Cons\\.?\\s+Stat\\.?`},{jurisdiction:`PA`,abbreviations:[`PS`,`P.S.`],regexFragment:`P\\.?\\s*S\\.?`},{jurisdiction:`IN`,abbreviations:[`Burns Ind. Code Ann.`,`Burns Ind. Code`,`Indiana Code Ann.`,`Indiana Code`,`Ind. Code Ann.`,`Ind. Code`,`IC`],regexFragment:`Burns\\s+Ind\\.?\\s+Code(?:\\s+Ann\\.?)?|Ind(?:iana)?\\.?\\s+Code(?:\\s+Ann\\.?)?|IND\\.?\\s+CODE|IC`},{jurisdiction:`IN`,abbreviations:[`Burns Indiana Statutes Annotated`,`Burns Ind. Stat. Ann.`,`Ind. Stat. Ann.`,`Ind. Ann. Stat.`],regexFragment:`Burns(?:'s|')?\\s+Ind(?:iana)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?|Ind(?:iana)?\\.?\\s+Stat\\.?\\s+Ann\\.?|Ind(?:iana)?\\.?\\s+Ann\\.?\\s+Stat\\.?`},{jurisdiction:`NJ`,abbreviations:[`N.J.S.A.`,`NJSA`,`N.J.S.`,`NJS`],regexFragment:`N\\.?J\\.?\\s*S(?:tat)?\\.?\\s*A?\\.?`},{jurisdiction:`DE`,abbreviations:[`Del. Code Ann.`,`Del. Code`,`Del. C.`,`Del C`],regexFragment:`Del\\.?\\s*(?:Code(?:\\s+Ann\\.?)?|C\\.?)`},{jurisdiction:`AK`,abbreviations:[`Alaska Stat. Ann.`,`Alaska Stat.`,`AS`],regexFragment:`Alaska\\s+Stat\\.?(?:\\s+Ann\\.?)?|A\\.?S\\.?`},{jurisdiction:`AZ`,abbreviations:[`Ariz. Rev. Stat. Ann.`,`Ariz. Rev. Stat.`,`A.R.S.`],regexFragment:`Ariz\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|A\\.?\\s*R\\.?\\s*S\\.?`},{jurisdiction:`AR`,abbreviations:[`Arkansas Code Annotated`,`Ark. Code Ann.`,`Arkansas Code`,`A.C.A.`],regexFragment:`Ark(?:ansas)?\\.?\\s+Code(?:\\s+Ann(?:otated)?\\.?)?|A\\.?C\\.?A\\.?`},{jurisdiction:`AR`,abbreviations:[`Arkansas Statutes Annotated`,`Ark. Stat. Ann.`,`Ark. Stat.`],regexFragment:`Ark(?:ansas)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?`},{jurisdiction:`CT`,abbreviations:[`Conn. Gen. Stat. Ann.`,`Conn. Gen. Stat.`,`C.G.S.`],regexFragment:`Conn\\.?\\s+Gen\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|C\\.?G\\.?S\\.?`},{jurisdiction:`DC`,abbreviations:[`D.C. Official Code`,`D.C. Code Ann.`,`D.C. Code`],regexFragment:`D\\.?C\\.?\\s+(?:Official\\s+)?Code(?:\\s+Ann\\.?)?`},{jurisdiction:`HI`,abbreviations:[`Haw. Rev. Stat. Ann.`,`Haw. Rev. Stat.`,`HRS`],regexFragment:`Haw\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|HRS`},{jurisdiction:`IA`,abbreviations:[`Iowa Code Ann.`,`Iowa Code`,`I.C.A.`],regexFragment:`Iowa\\s+Code(?:\\s+Ann\\.?)?|I\\.?C\\.?A\\.?`},{jurisdiction:`ID`,abbreviations:[`Idaho Code Ann.`,`Idaho Code`,`I.C.`],regexFragment:`Idaho\\s+Code(?:\\s+Ann\\.?)?|I\\.?\\s*C\\.?`},{jurisdiction:`KS`,abbreviations:[`Kan. Stat. Ann.`,`K.S.A.`],regexFragment:`Kan\\.?\\s+Stat\\.?\\s+Ann\\.?|K\\.?S\\.?A\\.?`},{jurisdiction:`KY`,abbreviations:[`Ky. Rev. Stat. Ann.`,`Ky. Rev. Stat.`,`KRS`],regexFragment:`Ky\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|KRS`},{jurisdiction:`LA`,abbreviations:[`La. Rev. Stat. Ann.`,`LSA-R.S.`,`La. R.S.`],regexFragment:`La\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|La\\.?\\s*R\\.?S\\.?|LSA-R\\.?S\\.?`},{jurisdiction:`ME`,abbreviations:[`Me. Rev. Stat. Ann.`,`Me. Rev. Stat.`,`M.R.S.A.`,`M.R.S.`],regexFragment:`Me\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|M\\.?R\\.?S\\.?A?\\.?`},{jurisdiction:`MN`,abbreviations:[`Minnesota Statutes`,`Minn. Stat. Ann.`,`Minn. Stat.`,`Minn. St.`,`M.S.A.`],regexFragment:`Minnesota\\s+Statutes(?:\\s+Ann(?:otated)?\\.?)?|Minn\\.?\\s+(?:Stat|St)\\.?(?:\\s+Ann\\.?)?|M\\.S\\.A\\.`},{jurisdiction:`MS`,abbreviations:[`Miss. Code Ann.`,`Mississippi Code`,`MS Code`],regexFragment:`Miss(?:issippi)?\\.?\\s+Code(?:\\s+Ann\\.?)?|MS\\s+Code`},{jurisdiction:`MO`,abbreviations:[`Mo. Ann. Stat.`,`Mo. Rev. Stat.`,`V.A.M.S.`,`RSMo`],regexFragment:`Mo\\.?\\s+(?:Ann\\.?\\s+|Rev\\.?\\s+)Stat\\.?|V\\.?A\\.?M\\.?S\\.?|RSMo`},{jurisdiction:`MT`,abbreviations:[`Mont. Code Ann.`,`MCA`],regexFragment:`Mont\\.?\\s+Code(?:\\s+Ann\\.?)?|MCA`},{jurisdiction:`ND`,abbreviations:[`N.D. Cent. Code`,`N.D.C.C.`],regexFragment:`N\\.?D\\.?\\s+Cent\\.?\\s+Code|N\\.?D\\.?C\\.?C\\.?`},{jurisdiction:`NE`,abbreviations:[`Neb. Rev. Stat.`,`R.R.S. Neb.`,`R.R.S.`],regexFragment:`Neb\\.?\\s+Rev\\.?\\s+Stat\\.?|R\\.?R\\.?S\\.?(?:\\s+Neb\\.?)?`},{jurisdiction:`NH`,abbreviations:[`N.H. Rev. Stat. Ann.`,`N.H. RSA`,`RSA`],regexFragment:`N\\.?H\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|N\\.?H\\.?\\s+RSA|RSA`},{jurisdiction:`NM`,abbreviations:[`N.M. Stat. Ann.`,`NMSA 1978`,`NMSA`],regexFragment:`N\\.?M\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|NMSA(?:\\s+1978)?`},{jurisdiction:`NV`,abbreviations:[`Nev. Rev. Stat. Ann.`,`Nev. Rev. Stat.`,`NRS`],regexFragment:`Nev\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|NRS`},{jurisdiction:`OK`,abbreviations:[`Okla. Stat. Ann.`,`Okla. Stat.`,`O.S.`],regexFragment:`Okla\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|O\\.?S\\.?`},{jurisdiction:`OR`,abbreviations:[`Or. Rev. Stat. Ann.`,`Or. Rev. Stat.`,`ORS`],regexFragment:`Or\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|ORS`},{jurisdiction:`RI`,abbreviations:[`R.I. Gen. Laws`,`R.I.G.L.`],regexFragment:`R\\.?I\\.?\\s+Gen\\.?\\s+Laws|R\\.?I\\.?G\\.?L\\.?`},{jurisdiction:`SC`,abbreviations:[`S.C. Code`,`S.C. Code Ann.`],regexFragment:`S\\.?C\\.?\\s*Code(?:\\s+Ann\\.?)?`},{jurisdiction:`SD`,abbreviations:[`S.D. Codified Laws`,`S.D.C.L.`,`SDCL`],regexFragment:`S\\.?D\\.?\\s+Codified\\s+Laws|S\\.?D\\.?C\\.?L\\.?|SDCL`},{jurisdiction:`TN`,abbreviations:[`Tenn. Code Ann.`,`Tennessee Code`,`TN Code`,`T.C.A.`],regexFragment:`Tenn(?:essee)?\\.?\\s+Code(?:\\s+Ann\\.?)?|T\\.?C\\.?A\\.?|TN\\s+Code`},{jurisdiction:`VT`,abbreviations:[`Vt. Stat. Ann.`,`V.S.A.`],regexFragment:`Vt\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|V\\.?S\\.?A\\.?`},{jurisdiction:`WI`,abbreviations:[`Wis. Stat. Ann.`,`Wis. Stat.`,`W.S.A.`],regexFragment:`Wis\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|W\\.?S\\.?A\\.?`},{jurisdiction:`WV`,abbreviations:[`W. Va. Code`,`WV Code`,`W. Va. Code Ann.`],regexFragment:`W\\.?\\s*Va\\.?\\s*Code(?:\\s+Ann\\.?)?|WV\\s+Code`},{jurisdiction:`WY`,abbreviations:[`Wyo. Stat. Ann.`,`Wyo. Stat.`,`W.S.`],regexFragment:`Wyo\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|W\\.?S\\.?`}],o=a.map(e=>({jurisdiction:e.jurisdiction,abbreviation:e.abbreviations[e.abbreviations.length-1],family:`abbreviated`,patterns:e.abbreviations})),s=[{jurisdiction:`NY`,abbreviation:`CPLR`,family:`named`,patterns:[`C.P.L.R.`,`CPLR`,`Civ. Prac. L. & R.`,`Civil Practice Law & Rules`]},{jurisdiction:`NY`,abbreviation:`CPL`,family:`named`,patterns:[`Crim. Proc.`,`Criminal Procedure`]},{jurisdiction:`NY`,abbreviation:`GBS`,family:`named`,patterns:[`Gen. Bus.`,`General Business`]},{jurisdiction:`NY`,abbreviation:`GOB`,family:`named`,patterns:[`Gen. Oblig.`,`General Obligations`]},{jurisdiction:`NY`,abbreviation:`PEN`,family:`named`,patterns:[`Penal`]},{jurisdiction:`NY`,abbreviation:`ISC`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`NY`,abbreviation:`LAB`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`NY`,abbreviation:`RPL`,family:`named`,patterns:[`Real Prop.`,`Real Property`]},{jurisdiction:`NY`,abbreviation:`EXC`,family:`named`,patterns:[`Exec.`,`Executive`]},{jurisdiction:`NY`,abbreviation:`JUD`,family:`named`,patterns:[`Jud.`,`Judiciary`]},{jurisdiction:`NY`,abbreviation:`SCP`,family:`named`,patterns:[`Surr. Ct. Proc.`,`Surrogate's Court Procedure`]},{jurisdiction:`NY`,abbreviation:`CVR`,family:`named`,patterns:[`Civ. Rights`,`Civil Rights`]},{jurisdiction:`NY`,abbreviation:`CVP`,family:`named`,patterns:[`Civ. Prac.`,`Civil Practice`]},{jurisdiction:`NY`,abbreviation:`EDN`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`NY`,abbreviation:`TAX`,family:`named`,patterns:[`Tax`]},{jurisdiction:`NY`,abbreviation:`PBH`,family:`named`,patterns:[`Pub. Health`,`Public Health`]},{jurisdiction:`NY`,abbreviation:`SOS`,family:`named`,patterns:[`Soc. Serv.`,`Social Services`]},{jurisdiction:`NY`,abbreviation:`ELN`,family:`named`,patterns:[`Elec.`,`Election`]},{jurisdiction:`NY`,abbreviation:`ENV`,family:`named`,patterns:[`Env. Conserv.`,`Environmental Conservation`]},{jurisdiction:`NY`,abbreviation:`BNK`,family:`named`,patterns:[`Bank.`,`Banking`]},{jurisdiction:`NY`,abbreviation:`DRL`,family:`named`,patterns:[`Dom. Rel.`,`Domestic Relations`]},{jurisdiction:`CA`,abbreviation:`CCP`,family:`named`,patterns:[`Civ. Proc.`,`Civil Procedure`]},{jurisdiction:`CA`,abbreviation:`BPC`,family:`named`,patterns:[`Bus. & Prof.`,`Business & Professions`]},{jurisdiction:`CA`,abbreviation:`HSC`,family:`named`,patterns:[`Health & Saf.`,`Health & Safety`]},{jurisdiction:`CA`,abbreviation:`RTC`,family:`named`,patterns:[`Rev. & Tax.`,`Revenue & Taxation`]},{jurisdiction:`CA`,abbreviation:`FGC`,family:`named`,patterns:[`Fish & Game`]},{jurisdiction:`CA`,abbreviation:`FAC`,family:`named`,patterns:[`Food & Agric.`,`Food & Agricultural`]},{jurisdiction:`CA`,abbreviation:`HNC`,family:`named`,patterns:[`Harb. & Nav.`,`Harbors & Navigation`]},{jurisdiction:`CA`,abbreviation:`MVC`,family:`named`,patterns:[`Mil. & Vet.`,`Military & Veterans`]},{jurisdiction:`CA`,abbreviation:`PCC`,family:`named`,patterns:[`Pub. Cont.`,`Public Contract`,`Public Contracts`]},{jurisdiction:`CA`,abbreviation:`PRC`,family:`named`,patterns:[`Pub. Res.`,`Public Resources`]},{jurisdiction:`CA`,abbreviation:`PUC`,family:`named`,patterns:[`Pub. Util.`,`Public Utilities`]},{jurisdiction:`CA`,abbreviation:`SHC`,family:`named`,patterns:[`Sts. & High.`,`Streets & Highways`]},{jurisdiction:`CA`,abbreviation:`UIC`,family:`named`,patterns:[`Unemp. Ins.`,`Unemployment Insurance`]},{jurisdiction:`CA`,abbreviation:`WIC`,family:`named`,patterns:[`Welf. & Inst.`,`Welfare & Institutions`]},{jurisdiction:`CA`,abbreviation:`CIV`,family:`named`,patterns:[`Civ.`,`Civil`]},{jurisdiction:`CA`,abbreviation:`COM`,family:`named`,patterns:[`Com.`,`Commercial`]},{jurisdiction:`CA`,abbreviation:`CORP`,family:`named`,patterns:[`Corp.`,`Corporations`]},{jurisdiction:`CA`,abbreviation:`EDC`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`CA`,abbreviation:`ELEC`,family:`named`,patterns:[`Elec.`,`Elections`]},{jurisdiction:`CA`,abbreviation:`EVID`,family:`named`,patterns:[`Evid.`,`Evidence`]},{jurisdiction:`CA`,abbreviation:`FAM`,family:`named`,patterns:[`Fam.`,`Family`]},{jurisdiction:`CA`,abbreviation:`FIN`,family:`named`,patterns:[`Fin.`,`Financial`]},{jurisdiction:`CA`,abbreviation:`GOV`,family:`named`,patterns:[`Gov.`,`Government`]},{jurisdiction:`CA`,abbreviation:`INS`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`CA`,abbreviation:`LAB`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`CA`,abbreviation:`PEN`,family:`named`,patterns:[`Penal`]},{jurisdiction:`CA`,abbreviation:`PROB`,family:`named`,patterns:[`Prob.`,`Probate`]},{jurisdiction:`CA`,abbreviation:`VEH`,family:`named`,patterns:[`Veh.`,`Vehicle`]},{jurisdiction:`CA`,abbreviation:`WAT`,family:`named`,patterns:[`Wat.`,`Water`]},{jurisdiction:`TX`,abbreviation:`CP`,family:`named`,patterns:[`Civ. Prac. & Rem.`,`Civil Practice & Remedies`]},{jurisdiction:`TX`,abbreviation:`CR`,family:`named`,patterns:[`Crim. Proc.`,`Code of Criminal Procedure`]},{jurisdiction:`TX`,abbreviation:`BC`,family:`named`,patterns:[`Bus. & Com.`,`Business & Commerce`]},{jurisdiction:`TX`,abbreviation:`BO`,family:`named`,patterns:[`Bus. Org.`,`Business Organizations`]},{jurisdiction:`TX`,abbreviation:`HS`,family:`named`,patterns:[`Health & Saf.`,`Health & Safety`]},{jurisdiction:`TX`,abbreviation:`HR`,family:`named`,patterns:[`Human Res.`,`Human Resources`]},{jurisdiction:`TX`,abbreviation:`LG`,family:`named`,patterns:[`Local Gov.`,`Local Government`]},{jurisdiction:`TX`,abbreviation:`NR`,family:`named`,patterns:[`Nat. Res.`,`Natural Resources`]},{jurisdiction:`TX`,abbreviation:`PW`,family:`named`,patterns:[`Parks & Wild.`,`Parks & Wildlife`]},{jurisdiction:`TX`,abbreviation:`SD`,family:`named`,patterns:[`Spec. Dist.`,`Special District`]},{jurisdiction:`TX`,abbreviation:`AL`,family:`named`,patterns:[`Alco. Bev.`,`Alcoholic Beverage`]},{jurisdiction:`TX`,abbreviation:`WL`,family:`named`,patterns:[`Water`]},{jurisdiction:`TX`,abbreviation:`CV`,family:`named`,patterns:[`Vernon's Civ. Stat.`,`Vernon's Civil Statutes`]},{jurisdiction:`TX`,abbreviation:`GV`,family:`named`,patterns:[`Gov't`,`Government`]},{jurisdiction:`TX`,abbreviation:`AG`,family:`named`,patterns:[`Agric.`,`Agriculture`]},{jurisdiction:`TX`,abbreviation:`ED`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`TX`,abbreviation:`EL`,family:`named`,patterns:[`Elec.`,`Election`]},{jurisdiction:`TX`,abbreviation:`ES`,family:`named`,patterns:[`Est.`,`Estates`]},{jurisdiction:`TX`,abbreviation:`FA`,family:`named`,patterns:[`Fam.`,`Family`]},{jurisdiction:`TX`,abbreviation:`FI`,family:`named`,patterns:[`Fin.`,`Finance`]},{jurisdiction:`TX`,abbreviation:`IN`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`TX`,abbreviation:`LA`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`TX`,abbreviation:`OC`,family:`named`,patterns:[`Occup.`,`Occupations`]},{jurisdiction:`TX`,abbreviation:`PE`,family:`named`,patterns:[`Penal`]},{jurisdiction:`TX`,abbreviation:`PB`,family:`named`,patterns:[`Prob.`,`Probate`]},{jurisdiction:`TX`,abbreviation:`PR`,family:`named`,patterns:[`Prop.`,`Property`]},{jurisdiction:`TX`,abbreviation:`TX`,family:`named`,patterns:[`Tax`]},{jurisdiction:`TX`,abbreviation:`TN`,family:`named`,patterns:[`Transp.`,`Transportation`]},{jurisdiction:`TX`,abbreviation:`UT`,family:`named`,patterns:[`Util.`,`Utilities`]},{jurisdiction:`MD`,abbreviation:`gag`,family:`named`,patterns:[`Agric.`,`Agriculture`]},{jurisdiction:`MD`,abbreviation:`gab`,family:`named`,patterns:[`Alc. Bev.`,`Alcoholic Beverages and Cannabis`]},{jurisdiction:`MD`,abbreviation:`gbo`,family:`named`,patterns:[`Bus. Occ. & Prof.`,`Business Occupations and Professions`]},{jurisdiction:`MD`,abbreviation:`gbr`,family:`named`,patterns:[`Bus. Reg.`,`Business Regulation`]},{jurisdiction:`MD`,abbreviation:`gcl`,family:`named`,patterns:[`Com. Law`,`Commercial Law`]},{jurisdiction:`MD`,abbreviation:`gca`,family:`named`,patterns:[`Corps. & Ass'ns`,`Corporations and Associations`]},{jurisdiction:`MD`,abbreviation:`gcs`,family:`named`,patterns:[`Corr. Servs.`,`Correctional Services`]},{jurisdiction:`MD`,abbreviation:`gcj`,family:`named`,patterns:[`Cts. & Jud. Proc.`,`Courts and Judicial Proceedings`]},{jurisdiction:`MD`,abbreviation:`gcr`,family:`named`,patterns:[`Crim. Law`,`Criminal Law`]},{jurisdiction:`MD`,abbreviation:`gcp`,family:`named`,patterns:[`Crim. Proc.`,`Criminal Procedure`]},{jurisdiction:`MD`,abbreviation:`gec`,family:`named`,patterns:[`Econ. Dev.`,`Economic Development`]},{jurisdiction:`MD`,abbreviation:`ged`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`MD`,abbreviation:`gel`,family:`named`,patterns:[`Elec. Law`,`Election Law`]},{jurisdiction:`MD`,abbreviation:`gen`,family:`named`,patterns:[`Envir.`,`Environment`]},{jurisdiction:`MD`,abbreviation:`get`,family:`named`,patterns:[`Est. & Trusts`,`Estates and Trusts`]},{jurisdiction:`MD`,abbreviation:`gfl`,family:`named`,patterns:[`Fam. Law`,`Family Law`]},{jurisdiction:`MD`,abbreviation:`gfi`,family:`named`,patterns:[`Fin. Inst.`,`Financial Institutions`]},{jurisdiction:`MD`,abbreviation:`ggp`,family:`named`,patterns:[`Gen. Prov.`,`General Provisions`]},{jurisdiction:`MD`,abbreviation:`ghg`,family:`named`,patterns:[`Health-Gen.`,`Health - General`]},{jurisdiction:`MD`,abbreviation:`gho`,family:`named`,patterns:[`Health Occ.`,`Health Occupations`]},{jurisdiction:`MD`,abbreviation:`ghs`,family:`named`,patterns:[`Hous. & Cmty. Dev.`,`Housing and Community Development`]},{jurisdiction:`MD`,abbreviation:`ghu`,family:`named`,patterns:[`Hum. Servs.`,`Human Services`]},{jurisdiction:`MD`,abbreviation:`gin`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`MD`,abbreviation:`gle`,family:`named`,patterns:[`Lab. & Empl.`,`Labor and Employment`]},{jurisdiction:`MD`,abbreviation:`glu`,family:`named`,patterns:[`Land Use`]},{jurisdiction:`MD`,abbreviation:`glg`,family:`named`,patterns:[`Local Gov't`,`Local Government`]},{jurisdiction:`MD`,abbreviation:`gnr`,family:`named`,patterns:[`Nat. Res.`,`Natural Resources`]},{jurisdiction:`MD`,abbreviation:`gps`,family:`named`,patterns:[`Pub. Safety`,`Public Safety`]},{jurisdiction:`MD`,abbreviation:`gpu`,family:`named`,patterns:[`PUC`,`Public Utilities`]},{jurisdiction:`MD`,abbreviation:`grp`,family:`named`,patterns:[`Real Prop.`,`Real Property`]},{jurisdiction:`MD`,abbreviation:`gsf`,family:`named`,patterns:[`State Fin. & Proc.`,`State Finance and Procurement`]},{jurisdiction:`MD`,abbreviation:`gsg`,family:`named`,patterns:[`State Gov't`,`State Government`]},{jurisdiction:`MD`,abbreviation:`gsp`,family:`named`,patterns:[`State Pers. & Pens.`,`State Personnel and Pensions`]},{jurisdiction:`MD`,abbreviation:`gtg`,family:`named`,patterns:[`Tax-Gen.`,`Tax - General`]},{jurisdiction:`MD`,abbreviation:`gtp`,family:`named`,patterns:[`Tax-Prop.`,`Tax - Property`]},{jurisdiction:`MD`,abbreviation:`gtr`,family:`named`,patterns:[`Transp.`,`Transportation`]},{jurisdiction:`VA`,abbreviation:`CODE`,family:`named`,patterns:[`Code`,`Code Ann.`]},{jurisdiction:`AL`,abbreviation:`CODE`,family:`named`,patterns:[`Code`,`Code Ann.`]},{jurisdiction:`MA`,abbreviation:`GL`,family:`named`,patterns:[`Gen. Laws`,`General Laws`]}];function c(e,t){let n=t.replace(/\s+/g,` `).trim().toLowerCase(),r=l.get(e);if(!r)return;let i,a=0;for(let{entry:e,lower:t}of r)(n===t||n.startsWith(t))&&t.length>a&&(i=e,a=t.length);return i}const l=new Map;for(let e of s){let t=l.get(e.jurisdiction);t||(t=[],l.set(e.jurisdiction,t));for(let n of e.patterns)t.push({entry:e,lower:n.toLowerCase()})}const u=new Map;for(let e of o)for(let t of e.patterns)u.set(t.toLowerCase(),e);const d=new Map;for(let e of o)for(let t of e.patterns){let n=t.toLowerCase().replace(/[.\s']/g,``);n.length!==0&&d.set(n,e)}function f(e){let t=e.toLowerCase(),n=u.get(t);if(n)return n;let r=t.replace(/[.\s']/g,``);if(r.length>0){let e=d.get(r);if(e)return e}let i,a=0;for(let[e,n]of u)t.startsWith(e)&&e.length>a&&(i=n,a=e.length);return i}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=knownCodes-Cw5MI48f.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knownCodes-Cw5MI48f.cjs","names":[],"sources":["../src/data/reportersCache.ts","../src/data/stateStatutes.ts","../src/data/knownCodes.ts"],"sourcesContent":["/**\n * Lightweight reporters-db cache — no dynamic imports.\n *\n * Separated from reporters.ts so modules in the core bundle\n * (e.g., filterFalsePositives) can read the cached database\n * without pulling in the heavy reporters.json dynamic import.\n *\n * @module data/reportersCache\n */\n\nimport type { ReportersDatabase } from \"./reporters\"\n\nlet cached: ReportersDatabase | null = null\n\n/** Get cached reporter database (null if not yet loaded). */\nexport function getReportersSync(): ReportersDatabase | null {\n return cached\n}\n\n/** Set the cached reporter database (called by loadReporters). */\nexport function setReportersCache(db: ReportersDatabase): void {\n cached = db\n}\n","/**\n * State statute abbreviation table — single source of truth for the\n * abbreviated-code tokenizer pattern and the knownCodes lookup registry.\n */\n\nexport interface StateStatuteEntry {\n /** Two-letter jurisdiction code (e.g., \"AK\", \"AZ\") */\n jurisdiction: string\n /** All recognized abbreviation forms — used for lookup by findAbbreviatedCode */\n abbreviations: string[]\n /**\n * Regex fragment for tokenizer alternation. If omitted, auto-generated\n * from abbreviations via escapeForRegex. Provide explicitly when the\n * pattern needs optional components (e.g., \"Stat(?:utes)?\").\n */\n regexFragment?: string\n}\n\n/**\n * Convert a plain abbreviation string into a regex fragment.\n *\n * Rules:\n * - Periods followed by a letter (e.g., \"T.C.\") → optional period + optional space\n * - Periods followed by a space (e.g., \"Stat. Ann.\") → optional period + flexible space\n * - Trailing periods → optional period\n * - Spaces → flexible whitespace (\\s+)\n * - Regex-special characters are escaped\n */\nexport function escapeForRegex(abbreviation: string): string {\n return (\n abbreviation\n // Escape regex-special chars (except period and space, handled below)\n .replace(/[\\\\^$*+?{}[\\]|()]/g, \"\\\\$&\")\n // Period followed by letter: \"T.C\" → \"T\\.?\\s*C\"\n .replace(/\\.(?=[A-Za-z])/g, \"\\\\.?\\\\s*\")\n // Period followed by space: \"Stat. Ann\" → \"Stat\\.?\\s+Ann\"\n .replace(/\\.\\s+/g, \"\\\\.?\\\\s+\")\n // Trailing period: \"Ann.\" → \"Ann\\.?\"\n .replace(/\\.$/g, \"\\\\.?\")\n // Remaining spaces → flexible whitespace\n .replace(/ +/g, \"\\\\s+\")\n )\n}\n\n/**\n * Build the abbreviated-code tokenizer regex from stateStatuteEntries.\n *\n * Produces the same capture group structure as the original hardcoded regex:\n * (1) optional leading title number\n * (2) abbreviation text\n * (3) section + subsections + et seq.\n *\n * Fragments are sorted longest-first for PEG-style ordered choice.\n */\nexport function buildAbbreviatedCodeRegex(): RegExp {\n const allFragments: string[] = []\n\n for (const entry of stateStatuteEntries) {\n if (entry.regexFragment) {\n allFragments.push(entry.regexFragment)\n } else {\n for (const abbrev of entry.abbreviations) {\n allFragments.push(escapeForRegex(abbrev))\n }\n }\n }\n\n // Sort longest-first so more specific patterns match before shorter ones\n allFragments.sort((a, b) => b.length - a.length)\n\n const alternation = allFragments.join(\"|\")\n\n return new RegExp(\n // Section body: digits prefix, then alphanumeric/colon/slash/hyphen OR\n // period-followed-by-alphanumeric (lookahead) OR comma-followed-by-digit\n // (Kansas comma-section format `NN-N,NNN` like `K.S.A. 23-9,101`, #367).\n // Period and comma guards prevent sentence punctuation from being\n // absorbed into the section.\n //\n // Section connector: `§`, `§§`, the spelled-out word `section(s)` /\n // `Section(s)` (#348), or the abbreviation `sec.` / `Sec.` (Tennessee\n // and several other state corpora interchange these — #398). Arizona\n // cites as `A.R.S. section 14-2804(A)` interchangeably with `A.R.S. §\n // 14-2804(A)`.\n // Optional comma between code name and connector (`Idaho Code, § N`) is\n // common in Idaho practice (#360) and harmless elsewhere.\n // Trailing subscript groups accept either parens or brackets — MSA uses\n // `[N]` for subdivisions (`MSA 23.710[252]`) #370.\n `\\\\b(?:(\\\\d+)\\\\s+)?(${alternation})\\\\s*,?\\\\s*(?:§§?|[Ss]ections?|[Ss]ec\\\\.?)?\\\\s*(\\\\d+(?:[A-Za-z0-9:/-]|\\\\.(?=[A-Za-z0-9])|,(?=\\\\d))*(?:\\\\([^)]*\\\\)|\\\\[[^\\\\]]*\\\\])*(?:\\\\s*et\\\\s+seq\\\\.?)?)`,\n \"g\",\n )\n}\n\n/**\n * Abbreviations are ordered longest-first within each entry. The last element\n * is used as the canonical short abbreviation in knownCodes.ts.\n */\nexport const stateStatuteEntries: StateStatuteEntry[] = [\n // ── Florida ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"FL\",\n abbreviations: [\"Fla. Stat. Ann.\", \"Fla. Stat.\", \"Fla Stat\", \"F.S.\", \"FS\"],\n regexFragment: \"Fla\\\\.?\\\\s*Stat(?:utes)?\\\\.?(?:\\\\s*Ann\\\\.?)?|F\\\\.?S\\\\.?\",\n },\n // ── Ohio ───────────────────────────────────────────────────────────────────\n // Inter-letter spacing tolerance — `R. C. 713.15` (with space) is the\n // dominant Ohio court-published style, more common than the no-space\n // `R.C. 713.15`. The federal Internal Revenue Code (`I.R.C.`) has its\n // own dedicated pattern (#376) so the `I.` prefix won't trigger Ohio.\n // Canonical abbreviation is `R.C.` (Bluebook); ordered last so the\n // stripped-form fallback normalizes spaced/dotless variants to it. #388\n {\n jurisdiction: \"OH\",\n abbreviations: [\"Ohio Rev. Code Ann.\", \"Ohio Rev. Code\", \"O.R.C.\", \"ORC\", \"RC\", \"R.C.\"],\n regexFragment:\n \"Ohio\\\\s+Rev\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|O\\\\.?\\\\s*R\\\\.?\\\\s*C\\\\.?|R\\\\.?\\\\s*C\\\\.?\",\n },\n // ── Michigan ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"MI\",\n abbreviations: [\n \"Mich. Comp. Laws Ann.\",\n \"Mich. Comp. Laws Serv.\",\n \"Mich. Comp. Laws\",\n \"M.C.L.\",\n \"MCLA\",\n \"MCLS\",\n \"MCL\",\n ],\n regexFragment: \"Mich\\\\.?\\\\s+Comp\\\\.?\\\\s+Laws(?:\\\\s+(?:Ann|Serv)\\\\.?)?|M\\\\.?C\\\\.?L\\\\.?|MCL[AS]?\",\n },\n // Michigan Statutes Annotated (MSA) — historical Callaghan-published\n // companion to MCL. Bare `MSA` (no dots) is Michigan; the dotted `M.S.A.`\n // is reserved for Minnesota Statutes Annotated (Bluebook standard).\n // Separate entry from MCL so the canonical `code` field stays `MSA` rather\n // than being normalized to `MCL`. #370\n {\n jurisdiction: \"MI\",\n abbreviations: [\"Mich. Stat. Ann.\", \"MSA\"],\n regexFragment: \"Mich\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|MSA\",\n },\n // ── Utah ───────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"UT\",\n abbreviations: [\"Utah Code Ann.\", \"Utah Code\", \"U.C.A.\", \"UCA\"],\n regexFragment: \"Utah\\\\s+Code(?:\\\\s+Ann\\\\.?)?|U\\\\.?C\\\\.?A\\\\.?\",\n },\n // ── Colorado ───────────────────────────────────────────────────────────────\n // Colorado has two compilations: pre-1973 (`C.R.S. 1963`) and modern\n // (`C.R.S.` / `C.R.S. 1973`). The year suffix is part of the code name,\n // not an edition parenthetical — without absorbing it into the\n // abbreviation capture the section body would swallow the year (`C.R.S.\n // 1963 § 148-21-34` → section=\"1963\"; #352). The optional `\\s+19\\d{2}`\n // tail attaches `1963` / `1973` / etc. to the code, and the canonical\n // year-suffixed forms are added to the abbreviations array so\n // `findAbbreviatedCode` resolves them via exact match.\n {\n jurisdiction: \"CO\",\n abbreviations: [\n \"Colorado Revised Statutes Annotated\",\n \"Colo. Rev. Stat. Ann.\",\n \"Colorado Revised Statutes 1963\",\n \"Colorado Revised Statutes 1973\",\n \"Colorado Revised Statutes\",\n \"Colo. Rev. Stat.\",\n \"C.R.S. 1963\",\n \"C.R.S. 1973\",\n \"C.R.S.\",\n \"CRS\",\n ],\n regexFragment:\n \"Colo(?:rado)?\\\\.?\\\\s+Rev(?:ised)?\\\\.?\\\\s+Stat(?:utes)?\\\\.?(?:\\\\s+Ann(?:otated)?\\\\.?)?(?:\\\\s+19\\\\d{2})?|C\\\\.?R\\\\.?S\\\\.?(?:\\\\s+19\\\\d{2})?\",\n },\n // ── Washington ─────────────────────────────────────────────────────────────\n {\n jurisdiction: \"WA\",\n abbreviations: [\"Wash. Rev. Code Ann.\", \"Wash. Rev. Code\", \"RCW\"],\n regexFragment: \"Wash\\\\.?\\\\s+Rev\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|RCW\",\n },\n // ── North Carolina ─────────────────────────────────────────────────────────\n {\n jurisdiction: \"NC\",\n abbreviations: [\"N.C. Gen. Stat. Ann.\", \"N.C. Gen. Stat.\", \"N.C.G.S.\", \"NCGS\", \"G.S.\", \"GS\"],\n regexFragment:\n \"N\\\\.?C\\\\.?\\\\s*Gen\\\\.?\\\\s*Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|N\\\\.?C\\\\.?G\\\\.?S\\\\.?|G\\\\.?S\\\\.?\",\n },\n // ── Georgia ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"GA\",\n abbreviations: [\"Ga. Code Ann.\", \"Ga. Code\", \"O.C.G.A.\", \"OCGA\"],\n regexFragment: \"Ga\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|O\\\\.?C\\\\.?G\\\\.?A\\\\.?\",\n },\n // ── Pennsylvania (consolidated) ────────────────────────────────────────────\n // Inter-letter spacing tolerance — `Pa. C. S.` (with spaces) is a\n // common Pennsylvania court-published style. Canonical is `Pa.C.S.`\n // (Bluebook); ordered last so spaced variants normalize to it. #392\n {\n jurisdiction: \"PA\",\n abbreviations: [\"Pa. Cons. Stat.\", \"Pa. C.S.A.\", \"Pa. C.S.\", \"Pa.C.S.A.\", \"Pa.C.S.\"],\n regexFragment: \"Pa\\\\.?\\\\s*C\\\\.?\\\\s*S\\\\.?\\\\s*A?\\\\.?|Pa\\\\.?\\\\s+Cons\\\\.?\\\\s+Stat\\\\.?\",\n },\n // ── Pennsylvania (unconsolidated) ──────────────────────────────────────────\n // Inter-letter spacing tolerance — `P. S.` (with space) is a common\n // Pennsylvania court-published style. Canonical is `P.S.` (Bluebook);\n // ordered last so spaced/dotless variants normalize to it. #392\n {\n jurisdiction: \"PA\",\n abbreviations: [\"PS\", \"P.S.\"],\n regexFragment: \"P\\\\.?\\\\s*S\\\\.?\",\n },\n // ── Indiana ────────────────────────────────────────────────────────────────\n // The bare dotted `I.C.` form is reserved for Idaho (#360) — Indiana\n // opinions use either the spelled-out `Ind. Code` / `Indiana Code` or the\n // dotless `IC` shorthand. Restricting Indiana to the dotless `IC` lets\n // Idaho own `I.C.` / `I. C.` without losing Indiana coverage.\n // `IND. CODE` (uppercase) is also accepted — Indiana case captions and\n // some treatises use the all-caps form (#363).\n {\n jurisdiction: \"IN\",\n abbreviations: [\n \"Burns Ind. Code Ann.\",\n \"Burns Ind. Code\",\n \"Indiana Code Ann.\",\n \"Indiana Code\",\n \"Ind. Code Ann.\",\n \"Ind. Code\",\n \"IC\",\n ],\n regexFragment:\n \"Burns\\\\s+Ind\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|Ind(?:iana)?\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|IND\\\\.?\\\\s+CODE|IC\",\n },\n // Pre-1976 Burns Indiana Statutes Annotated — modern Indiana opinions\n // still cite this when referencing pre-1976 statutory text (#363).\n // Examples: `Burns Ind. Stat. Ann., § 10-3401 (1956 Repl.)`,\n // `Ind. Stat. Ann. § 28-1710 (Burns 1971)`, `Burns' Indiana Statutes\n // Annotated § 48-702`, `Ind. Ann. Stat. § 10-4709`.\n {\n jurisdiction: \"IN\",\n abbreviations: [\n \"Burns Indiana Statutes Annotated\",\n \"Burns Ind. Stat. Ann.\",\n \"Ind. Stat. Ann.\",\n \"Ind. Ann. Stat.\",\n ],\n regexFragment:\n \"Burns(?:'s|')?\\\\s+Ind(?:iana)?\\\\.?\\\\s+Stat(?:utes)?\\\\.?(?:\\\\s+Ann(?:otated)?\\\\.?)?|Ind(?:iana)?\\\\.?\\\\s+Stat\\\\.?\\\\s+Ann\\\\.?|Ind(?:iana)?\\\\.?\\\\s+Ann\\\\.?\\\\s+Stat\\\\.?\",\n },\n // ── New Jersey ─────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NJ\",\n abbreviations: [\"N.J.S.A.\", \"NJSA\", \"N.J.S.\", \"NJS\"],\n regexFragment: \"N\\\\.?J\\\\.?\\\\s*S(?:tat)?\\\\.?\\\\s*A?\\\\.?\",\n },\n // ── Delaware ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"DE\",\n abbreviations: [\"Del. Code Ann.\", \"Del. Code\", \"Del. C.\", \"Del C\"],\n regexFragment: \"Del\\\\.?\\\\s*(?:Code(?:\\\\s+Ann\\\\.?)?|C\\\\.?)\",\n },\n // ── Alaska ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"AK\",\n abbreviations: [\"Alaska Stat. Ann.\", \"Alaska Stat.\", \"AS\"],\n regexFragment: \"Alaska\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|A\\\\.?S\\\\.?\",\n },\n // ── Arizona ───────────────────────────────────────────────────────────────\n // A.R.S. fragment admits inter-letter spaces (`A. R.S.`, OCR `AR.S.`) and\n // no-dots (`ARS`) — see #348. The extractor normalizes all variants to the\n // canonical `A.R.S.` via the stripped-form fallback in `findAbbreviatedCode`.\n {\n jurisdiction: \"AZ\",\n abbreviations: [\"Ariz. Rev. Stat. Ann.\", \"Ariz. Rev. Stat.\", \"A.R.S.\"],\n regexFragment: \"Ariz\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|A\\\\.?\\\\s*R\\\\.?\\\\s*S\\\\.?\",\n },\n // ── Arkansas ──────────────────────────────────────────────────────────────\n // Modern Arkansas Code Annotated (post-1987). Fragment accepts both the\n // abbreviated `Ann.` form and the spelled-out `Annotated` form (#349).\n {\n jurisdiction: \"AR\",\n abbreviations: [\n \"Arkansas Code Annotated\",\n \"Ark. Code Ann.\",\n \"Arkansas Code\",\n \"A.C.A.\",\n ],\n regexFragment:\n \"Ark(?:ansas)?\\\\.?\\\\s+Code(?:\\\\s+Ann(?:otated)?\\\\.?)?|A\\\\.?C\\\\.?A\\\\.?\",\n },\n // Pre-1987 Arkansas Statutes Annotated. Modern Arkansas opinions still cite\n // this when referencing pre-1987 statutory text (#349).\n {\n jurisdiction: \"AR\",\n abbreviations: [\"Arkansas Statutes Annotated\", \"Ark. Stat. Ann.\", \"Ark. Stat.\"],\n regexFragment:\n \"Ark(?:ansas)?\\\\.?\\\\s+Stat(?:utes)?\\\\.?(?:\\\\s+Ann(?:otated)?\\\\.?)?\",\n },\n // ── Connecticut ───────────────────────────────────────────────────────────\n {\n jurisdiction: \"CT\",\n abbreviations: [\"Conn. Gen. Stat. Ann.\", \"Conn. Gen. Stat.\", \"C.G.S.\"],\n regexFragment: \"Conn\\\\.?\\\\s+Gen\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|C\\\\.?G\\\\.?S\\\\.?\",\n },\n // ── District of Columbia ──────────────────────────────────────────────────\n {\n jurisdiction: \"DC\",\n abbreviations: [\"D.C. Official Code\", \"D.C. Code Ann.\", \"D.C. Code\"],\n regexFragment: \"D\\\\.?C\\\\.?\\\\s+(?:Official\\\\s+)?Code(?:\\\\s+Ann\\\\.?)?\",\n },\n // ── Hawaii ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"HI\",\n abbreviations: [\"Haw. Rev. Stat. Ann.\", \"Haw. Rev. Stat.\", \"HRS\"],\n regexFragment: \"Haw\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|HRS\",\n },\n // ── Iowa ──────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"IA\",\n abbreviations: [\"Iowa Code Ann.\", \"Iowa Code\", \"I.C.A.\"],\n regexFragment: \"Iowa\\\\s+Code(?:\\\\s+Ann\\\\.?)?|I\\\\.?C\\\\.?A\\\\.?\",\n },\n // ── Idaho ─────────────────────────────────────────────────────────────────\n // Idaho fragment admits the dotted `I.C.` abbreviation plus inter-letter\n // spacing variants (`I. C.`, OCR `I. C.`) and the no-dots form (`IC` is\n // owned by Indiana via array order). The extractor normalizes all variants\n // to the canonical `Idaho Code` via the stripped-form fallback in\n // `findAbbreviatedCode`. #360\n {\n jurisdiction: \"ID\",\n abbreviations: [\"Idaho Code Ann.\", \"Idaho Code\", \"I.C.\"],\n regexFragment: \"Idaho\\\\s+Code(?:\\\\s+Ann\\\\.?)?|I\\\\.?\\\\s*C\\\\.?\",\n },\n // ── Kansas ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"KS\",\n abbreviations: [\"Kan. Stat. Ann.\", \"K.S.A.\"],\n regexFragment: \"Kan\\\\.?\\\\s+Stat\\\\.?\\\\s+Ann\\\\.?|K\\\\.?S\\\\.?A\\\\.?\",\n },\n // ── Kentucky ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"KY\",\n abbreviations: [\"Ky. Rev. Stat. Ann.\", \"Ky. Rev. Stat.\", \"KRS\"],\n regexFragment: \"Ky\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|KRS\",\n },\n // ── Louisiana ─────────────────────────────────────────────────────────────\n // Louisiana — relaxed `La.R.S.` (no space between `La.` and `R.S.`)\n // is a common LA court style. Canonical is `La. R.S.` (Bluebook);\n // ordered last so the no-space variant normalizes to it. #415\n {\n jurisdiction: \"LA\",\n abbreviations: [\"La. Rev. Stat. Ann.\", \"LSA-R.S.\", \"La. R.S.\"],\n regexFragment:\n \"La\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|La\\\\.?\\\\s*R\\\\.?S\\\\.?|LSA-R\\\\.?S\\\\.?\",\n },\n // ── Maine ─────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"ME\",\n abbreviations: [\"Me. Rev. Stat. Ann.\", \"Me. Rev. Stat.\", \"M.R.S.A.\", \"M.R.S.\"],\n regexFragment: \"Me\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|M\\\\.?R\\\\.?S\\\\.?A?\\\\.?\",\n },\n // ── Minnesota ─────────────────────────────────────────────────────────────\n // The dotted `M.S.A.` form (literal dots required) routes to Minnesota\n // Statutes Annotated; the dotless `MSA` belongs to Michigan (Mich. Stat.\n // Ann.) via array order — see Michigan entry above. #370\n // The short form `Minn. St.` (without the `at`) is the canonical Minnesota\n // court style — distinct from the federal Bluebook's `Minn. Stat.` (#371).\n // `Minnesota Statutes` (spelled out) is the official short title used in\n // postfix prose forms.\n {\n jurisdiction: \"MN\",\n abbreviations: [\"Minnesota Statutes\", \"Minn. Stat. Ann.\", \"Minn. Stat.\", \"Minn. St.\", \"M.S.A.\"],\n regexFragment:\n \"Minnesota\\\\s+Statutes(?:\\\\s+Ann(?:otated)?\\\\.?)?|Minn\\\\.?\\\\s+(?:Stat|St)\\\\.?(?:\\\\s+Ann\\\\.?)?|M\\\\.S\\\\.A\\\\.\",\n },\n // ── Mississippi ───────────────────────────────────────────────────────────\n {\n jurisdiction: \"MS\",\n abbreviations: [\"Miss. Code Ann.\", \"Mississippi Code\", \"MS Code\"],\n regexFragment: \"Miss(?:issippi)?\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|MS\\\\s+Code\",\n },\n // ── Missouri ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"MO\",\n abbreviations: [\"Mo. Ann. Stat.\", \"Mo. Rev. Stat.\", \"V.A.M.S.\", \"RSMo\"],\n regexFragment: \"Mo\\\\.?\\\\s+(?:Ann\\\\.?\\\\s+|Rev\\\\.?\\\\s+)Stat\\\\.?|V\\\\.?A\\\\.?M\\\\.?S\\\\.?|RSMo\",\n },\n // ── Montana ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"MT\",\n abbreviations: [\"Mont. Code Ann.\", \"MCA\"],\n regexFragment: \"Mont\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|MCA\",\n },\n // ── North Dakota ──────────────────────────────────────────────────────────\n {\n jurisdiction: \"ND\",\n abbreviations: [\"N.D. Cent. Code\", \"N.D.C.C.\"],\n regexFragment: \"N\\\\.?D\\\\.?\\\\s+Cent\\\\.?\\\\s+Code|N\\\\.?D\\\\.?C\\\\.?C\\\\.?\",\n },\n // ── Nebraska ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NE\",\n abbreviations: [\"Neb. Rev. Stat.\", \"R.R.S. Neb.\", \"R.R.S.\"],\n regexFragment: \"Neb\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?|R\\\\.?R\\\\.?S\\\\.?(?:\\\\s+Neb\\\\.?)?\",\n },\n // ── New Hampshire ─────────────────────────────────────────────────────────\n {\n jurisdiction: \"NH\",\n abbreviations: [\"N.H. Rev. Stat. Ann.\", \"N.H. RSA\", \"RSA\"],\n regexFragment: \"N\\\\.?H\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|N\\\\.?H\\\\.?\\\\s+RSA|RSA\",\n },\n // ── New Mexico ────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NM\",\n abbreviations: [\"N.M. Stat. Ann.\", \"NMSA 1978\", \"NMSA\"],\n regexFragment: \"N\\\\.?M\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|NMSA(?:\\\\s+1978)?\",\n },\n // ── Nevada ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NV\",\n abbreviations: [\"Nev. Rev. Stat. Ann.\", \"Nev. Rev. Stat.\", \"NRS\"],\n regexFragment: \"Nev\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|NRS\",\n },\n // ── Oklahoma ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"OK\",\n abbreviations: [\"Okla. Stat. Ann.\", \"Okla. Stat.\", \"O.S.\"],\n regexFragment: \"Okla\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|O\\\\.?S\\\\.?\",\n },\n // ── Oregon ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"OR\",\n abbreviations: [\"Or. Rev. Stat. Ann.\", \"Or. Rev. Stat.\", \"ORS\"],\n regexFragment: \"Or\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|ORS\",\n },\n // ── Rhode Island ──────────────────────────────────────────────────────────\n {\n jurisdiction: \"RI\",\n abbreviations: [\"R.I. Gen. Laws\", \"R.I.G.L.\"],\n regexFragment: \"R\\\\.?I\\\\.?\\\\s+Gen\\\\.?\\\\s+Laws|R\\\\.?I\\\\.?G\\\\.?L\\\\.?\",\n },\n // ── South Carolina ────────────────────────────────────────────────────────\n // South Carolina — `S.C.Code Ann.` (no space) is a common style in\n // South Carolina court opinions; the `\\s+` was too strict and silently\n // routed every no-space form to the NM bare-section pattern via its\n // contained-span match on `§ N-N-N`. Accepting `\\s*` (zero or more\n // spaces) here keeps the SC container match intact, which then\n // subsumes the NM bare-section via span dedup. Canonical is `S.C. Code\n // Ann.` (Bluebook); ordered last so spaced/no-space variants normalize\n // to it. #397\n {\n jurisdiction: \"SC\",\n abbreviations: [\"S.C. Code\", \"S.C. Code Ann.\"],\n regexFragment: \"S\\\\.?C\\\\.?\\\\s*Code(?:\\\\s+Ann\\\\.?)?\",\n },\n // ── South Dakota ──────────────────────────────────────────────────────────\n {\n jurisdiction: \"SD\",\n abbreviations: [\"S.D. Codified Laws\", \"S.D.C.L.\", \"SDCL\"],\n regexFragment: \"S\\\\.?D\\\\.?\\\\s+Codified\\\\s+Laws|S\\\\.?D\\\\.?C\\\\.?L\\\\.?|SDCL\",\n },\n // ── Tennessee ─────────────────────────────────────────────────────────────\n // Canonical abbreviation is `T.C.A.` (Bluebook); ordered last so the\n // stripped-form fallback normalizes `TCA` (no dots) and spaced variants\n // to it. #398\n {\n jurisdiction: \"TN\",\n abbreviations: [\"Tenn. Code Ann.\", \"Tennessee Code\", \"TN Code\", \"T.C.A.\"],\n regexFragment: \"Tenn(?:essee)?\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|T\\\\.?C\\\\.?A\\\\.?|TN\\\\s+Code\",\n },\n // ── Vermont ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"VT\",\n abbreviations: [\"Vt. Stat. Ann.\", \"V.S.A.\"],\n regexFragment: \"Vt\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|V\\\\.?S\\\\.?A\\\\.?\",\n },\n // ── Wisconsin ─────────────────────────────────────────────────────────────\n {\n jurisdiction: \"WI\",\n abbreviations: [\"Wis. Stat. Ann.\", \"Wis. Stat.\", \"W.S.A.\"],\n regexFragment: \"Wis\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|W\\\\.?S\\\\.?A\\\\.?\",\n },\n // ── West Virginia ─────────────────────────────────────────────────────────\n // West Virginia — `W.Va.Code` (no space) is a common form in WV court\n // opinions. Relaxing `\\s+` to `\\s*` between `W.Va.` and `Code` prevents\n // the NM bare-section pattern (#382) from silently capturing the\n // `§ N-N-N` suffix when the no-space form is used. Canonical is\n // `W. Va. Code Ann.` (Bluebook); ordered last so all variants\n // normalize to it. #406\n {\n jurisdiction: \"WV\",\n abbreviations: [\"W. Va. Code\", \"WV Code\", \"W. Va. Code Ann.\"],\n regexFragment: \"W\\\\.?\\\\s*Va\\\\.?\\\\s*Code(?:\\\\s+Ann\\\\.?)?|WV\\\\s+Code\",\n },\n // ── Wyoming ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"WY\",\n abbreviations: [\"Wyo. Stat. Ann.\", \"Wyo. Stat.\", \"W.S.\"],\n regexFragment: \"Wyo\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|W\\\\.?S\\\\.?\",\n },\n]\n","/**\n * Known statutory code registry for abbreviated-code jurisdictions\n *\n * Provides a registry of state statutory codes that use abbreviated\n * citation forms (e.g., \"R.C. § 1.01\", \"MCL 750.83\"). Used by the\n * citation extractor to identify and normalize state statute citations.\n */\n\nimport { stateStatuteEntries } from \"./stateStatutes\"\n\n/**\n * A single entry in the known codes registry.\n *\n * PA has two entries (Pa.C.S. and P.S.) because it has two distinct\n * code families with separate abbreviation sets.\n */\nexport interface CodeEntry {\n /** Two-letter state abbreviation (e.g., \"OH\", \"MI\") */\n jurisdiction: string\n /** Short canonical abbreviation used internally (e.g., \"RC\", \"MCL\") */\n abbreviation: string\n /** All recognized text patterns that identify this code */\n patterns: string[]\n /** Citation family — determines which citation pattern family this belongs to */\n family: \"federal\" | \"named\" | \"abbreviated\" | \"chapterAct\" | \"prose\"\n}\n\n/**\n * Registry of state statutory codes that use abbreviated citation forms.\n * Derived from stateStatuteEntries — the single source of truth.\n *\n * Note: Short 2-letter patterns (AS, GS, IC, OS, PS, RC, FS, WS) may produce\n * false positives in non-legal text. The extraction layer mitigates this via\n * confidence scoring — citations without a § symbol receive lower confidence\n * (0.85 vs 0.95). Consumers should filter by confidence threshold.\n */\nexport const abbreviatedCodes: CodeEntry[] = stateStatuteEntries.map((entry) => ({\n jurisdiction: entry.jurisdiction,\n abbreviation: entry.abbreviations[entry.abbreviations.length - 1],\n family: \"abbreviated\" as const,\n patterns: entry.abbreviations,\n}))\n\n/**\n * Registry of state statutory codes that use named-code citation forms.\n *\n * Named-code jurisdictions identify their code by name in citations (e.g.,\n * \"N.Y. Penal Law § 120.05\", \"Cal. Civ. Proc. Code § 437c\"), rather than by\n * a standalone abbreviation. The jurisdiction prefix is handled by the\n * extraction layer; these patterns cover only the code name portion.\n *\n * Ordering note: within each jurisdiction, more specific patterns must come\n * before more general ones (e.g., \"Civ. Proc.\" before \"Civ.\") so that\n * findNamedCode's longest-match wins correctly.\n *\n * Covers 7 jurisdictions: NY (21 entries), CA (29 entries), TX (29 entries),\n * MD (36 entries), VA (1 entry), AL (1 entry), MA (1 entry).\n */\nexport const namedCodes: CodeEntry[] = [\n // ── New York (21 entries) ──────────────────────────────────────────────────\n {\n jurisdiction: \"NY\",\n abbreviation: \"CPLR\",\n family: \"named\",\n patterns: [\"C.P.L.R.\", \"CPLR\", \"Civ. Prac. L. & R.\", \"Civil Practice Law & Rules\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"CPL\",\n family: \"named\",\n patterns: [\"Crim. Proc.\", \"Criminal Procedure\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"GBS\",\n family: \"named\",\n patterns: [\"Gen. Bus.\", \"General Business\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"GOB\",\n family: \"named\",\n patterns: [\"Gen. Oblig.\", \"General Obligations\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"PEN\",\n family: \"named\",\n patterns: [\"Penal\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"ISC\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"LAB\",\n family: \"named\",\n patterns: [\"Lab.\", \"Labor\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"RPL\",\n family: \"named\",\n patterns: [\"Real Prop.\", \"Real Property\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"EXC\",\n family: \"named\",\n patterns: [\"Exec.\", \"Executive\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"JUD\",\n family: \"named\",\n patterns: [\"Jud.\", \"Judiciary\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"SCP\",\n family: \"named\",\n patterns: [\"Surr. Ct. Proc.\", \"Surrogate's Court Procedure\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"CVR\",\n family: \"named\",\n patterns: [\"Civ. Rights\", \"Civil Rights\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"CVP\",\n family: \"named\",\n patterns: [\"Civ. Prac.\", \"Civil Practice\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"EDN\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"TAX\",\n family: \"named\",\n patterns: [\"Tax\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"PBH\",\n family: \"named\",\n patterns: [\"Pub. Health\", \"Public Health\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"SOS\",\n family: \"named\",\n patterns: [\"Soc. Serv.\", \"Social Services\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"ELN\",\n family: \"named\",\n patterns: [\"Elec.\", \"Election\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"ENV\",\n family: \"named\",\n patterns: [\"Env. Conserv.\", \"Environmental Conservation\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"BNK\",\n family: \"named\",\n patterns: [\"Bank.\", \"Banking\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"DRL\",\n family: \"named\",\n patterns: [\"Dom. Rel.\", \"Domestic Relations\"],\n },\n\n // ── California (29 entries) ────────────────────────────────────────────────\n // CRITICAL: more specific patterns must come before general ones\n // (e.g., CCP \"Civ. Proc.\" before CIV \"Civ.\")\n {\n jurisdiction: \"CA\",\n abbreviation: \"CCP\",\n family: \"named\",\n patterns: [\"Civ. Proc.\", \"Civil Procedure\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"BPC\",\n family: \"named\",\n patterns: [\"Bus. & Prof.\", \"Business & Professions\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"HSC\",\n family: \"named\",\n patterns: [\"Health & Saf.\", \"Health & Safety\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"RTC\",\n family: \"named\",\n patterns: [\"Rev. & Tax.\", \"Revenue & Taxation\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FGC\",\n family: \"named\",\n patterns: [\"Fish & Game\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FAC\",\n family: \"named\",\n patterns: [\"Food & Agric.\", \"Food & Agricultural\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"HNC\",\n family: \"named\",\n patterns: [\"Harb. & Nav.\", \"Harbors & Navigation\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"MVC\",\n family: \"named\",\n patterns: [\"Mil. & Vet.\", \"Military & Veterans\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PCC\",\n family: \"named\",\n patterns: [\"Pub. Cont.\", \"Public Contract\", \"Public Contracts\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PRC\",\n family: \"named\",\n patterns: [\"Pub. Res.\", \"Public Resources\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PUC\",\n family: \"named\",\n patterns: [\"Pub. Util.\", \"Public Utilities\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"SHC\",\n family: \"named\",\n patterns: [\"Sts. & High.\", \"Streets & Highways\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"UIC\",\n family: \"named\",\n patterns: [\"Unemp. Ins.\", \"Unemployment Insurance\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"WIC\",\n family: \"named\",\n patterns: [\"Welf. & Inst.\", \"Welfare & Institutions\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"CIV\",\n family: \"named\",\n patterns: [\"Civ.\", \"Civil\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"COM\",\n family: \"named\",\n patterns: [\"Com.\", \"Commercial\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"CORP\",\n family: \"named\",\n patterns: [\"Corp.\", \"Corporations\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"EDC\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"ELEC\",\n family: \"named\",\n patterns: [\"Elec.\", \"Elections\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"EVID\",\n family: \"named\",\n patterns: [\"Evid.\", \"Evidence\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FAM\",\n family: \"named\",\n patterns: [\"Fam.\", \"Family\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FIN\",\n family: \"named\",\n patterns: [\"Fin.\", \"Financial\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"GOV\",\n family: \"named\",\n patterns: [\"Gov.\", \"Government\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"INS\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"LAB\",\n family: \"named\",\n patterns: [\"Lab.\", \"Labor\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PEN\",\n family: \"named\",\n patterns: [\"Penal\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PROB\",\n family: \"named\",\n patterns: [\"Prob.\", \"Probate\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"VEH\",\n family: \"named\",\n patterns: [\"Veh.\", \"Vehicle\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"WAT\",\n family: \"named\",\n patterns: [\"Wat.\", \"Water\"],\n },\n\n // ── Texas (30 entries) ────────────────────────────────────────────────────\n {\n jurisdiction: \"TX\",\n abbreviation: \"CP\",\n family: \"named\",\n patterns: [\"Civ. Prac. & Rem.\", \"Civil Practice & Remedies\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"CR\",\n family: \"named\",\n patterns: [\"Crim. Proc.\", \"Code of Criminal Procedure\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"BC\",\n family: \"named\",\n patterns: [\"Bus. & Com.\", \"Business & Commerce\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"BO\",\n family: \"named\",\n patterns: [\"Bus. Org.\", \"Business Organizations\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"HS\",\n family: \"named\",\n patterns: [\"Health & Saf.\", \"Health & Safety\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"HR\",\n family: \"named\",\n patterns: [\"Human Res.\", \"Human Resources\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"LG\",\n family: \"named\",\n patterns: [\"Local Gov.\", \"Local Government\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"NR\",\n family: \"named\",\n patterns: [\"Nat. Res.\", \"Natural Resources\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PW\",\n family: \"named\",\n patterns: [\"Parks & Wild.\", \"Parks & Wildlife\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"SD\",\n family: \"named\",\n patterns: [\"Spec. Dist.\", \"Special District\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"AL\",\n family: \"named\",\n patterns: [\"Alco. Bev.\", \"Alcoholic Beverage\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"WL\",\n family: \"named\",\n patterns: [\"Water\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"CV\",\n family: \"named\",\n patterns: [\"Vernon's Civ. Stat.\", \"Vernon's Civil Statutes\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"GV\",\n family: \"named\",\n patterns: [\"Gov't\", \"Government\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"AG\",\n family: \"named\",\n patterns: [\"Agric.\", \"Agriculture\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"ED\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"EL\",\n family: \"named\",\n patterns: [\"Elec.\", \"Election\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"ES\",\n family: \"named\",\n patterns: [\"Est.\", \"Estates\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"FA\",\n family: \"named\",\n patterns: [\"Fam.\", \"Family\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"FI\",\n family: \"named\",\n patterns: [\"Fin.\", \"Finance\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"IN\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"LA\",\n family: \"named\",\n patterns: [\"Lab.\", \"Labor\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"OC\",\n family: \"named\",\n patterns: [\"Occup.\", \"Occupations\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PE\",\n family: \"named\",\n patterns: [\"Penal\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PB\",\n family: \"named\",\n patterns: [\"Prob.\", \"Probate\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PR\",\n family: \"named\",\n patterns: [\"Prop.\", \"Property\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"TX\",\n family: \"named\",\n patterns: [\"Tax\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"TN\",\n family: \"named\",\n patterns: [\"Transp.\", \"Transportation\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"UT\",\n family: \"named\",\n patterns: [\"Util.\", \"Utilities\"],\n },\n\n // ── Maryland (36 entries) ─────────────────────────────────────────────────\n {\n jurisdiction: \"MD\",\n abbreviation: \"gag\",\n family: \"named\",\n patterns: [\"Agric.\", \"Agriculture\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gab\",\n family: \"named\",\n patterns: [\"Alc. Bev.\", \"Alcoholic Beverages and Cannabis\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gbo\",\n family: \"named\",\n patterns: [\"Bus. Occ. & Prof.\", \"Business Occupations and Professions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gbr\",\n family: \"named\",\n patterns: [\"Bus. Reg.\", \"Business Regulation\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcl\",\n family: \"named\",\n patterns: [\"Com. Law\", \"Commercial Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gca\",\n family: \"named\",\n patterns: [\"Corps. & Ass'ns\", \"Corporations and Associations\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcs\",\n family: \"named\",\n patterns: [\"Corr. Servs.\", \"Correctional Services\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcj\",\n family: \"named\",\n patterns: [\"Cts. & Jud. Proc.\", \"Courts and Judicial Proceedings\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcr\",\n family: \"named\",\n patterns: [\"Crim. Law\", \"Criminal Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcp\",\n family: \"named\",\n patterns: [\"Crim. Proc.\", \"Criminal Procedure\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gec\",\n family: \"named\",\n patterns: [\"Econ. Dev.\", \"Economic Development\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ged\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gel\",\n family: \"named\",\n patterns: [\"Elec. Law\", \"Election Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gen\",\n family: \"named\",\n patterns: [\"Envir.\", \"Environment\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"get\",\n family: \"named\",\n patterns: [\"Est. & Trusts\", \"Estates and Trusts\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gfl\",\n family: \"named\",\n patterns: [\"Fam. Law\", \"Family Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gfi\",\n family: \"named\",\n patterns: [\"Fin. Inst.\", \"Financial Institutions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ggp\",\n family: \"named\",\n patterns: [\"Gen. Prov.\", \"General Provisions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ghg\",\n family: \"named\",\n patterns: [\"Health-Gen.\", \"Health - General\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gho\",\n family: \"named\",\n patterns: [\"Health Occ.\", \"Health Occupations\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ghs\",\n family: \"named\",\n patterns: [\"Hous. & Cmty. Dev.\", \"Housing and Community Development\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ghu\",\n family: \"named\",\n patterns: [\"Hum. Servs.\", \"Human Services\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gin\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gle\",\n family: \"named\",\n patterns: [\"Lab. & Empl.\", \"Labor and Employment\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"glu\",\n family: \"named\",\n patterns: [\"Land Use\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"glg\",\n family: \"named\",\n patterns: [\"Local Gov't\", \"Local Government\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gnr\",\n family: \"named\",\n patterns: [\"Nat. Res.\", \"Natural Resources\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gps\",\n family: \"named\",\n patterns: [\"Pub. Safety\", \"Public Safety\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gpu\",\n family: \"named\",\n patterns: [\"PUC\", \"Public Utilities\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"grp\",\n family: \"named\",\n patterns: [\"Real Prop.\", \"Real Property\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gsf\",\n family: \"named\",\n patterns: [\"State Fin. & Proc.\", \"State Finance and Procurement\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gsg\",\n family: \"named\",\n patterns: [\"State Gov't\", \"State Government\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gsp\",\n family: \"named\",\n patterns: [\"State Pers. & Pens.\", \"State Personnel and Pensions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gtg\",\n family: \"named\",\n patterns: [\"Tax-Gen.\", \"Tax - General\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gtp\",\n family: \"named\",\n patterns: [\"Tax-Prop.\", \"Tax - Property\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gtr\",\n family: \"named\",\n patterns: [\"Transp.\", \"Transportation\"],\n },\n\n // ── Virginia (1 entry) ────────────────────────────────────────────────────\n {\n jurisdiction: \"VA\",\n abbreviation: \"CODE\",\n family: \"named\",\n patterns: [\"Code\", \"Code Ann.\"],\n },\n\n // ── Alabama (1 entry) ─────────────────────────────────────────────────────\n {\n jurisdiction: \"AL\",\n abbreviation: \"CODE\",\n family: \"named\",\n patterns: [\"Code\", \"Code Ann.\"],\n },\n\n // ── Massachusetts (1 entry) ───────────────────────────────────────────────\n {\n jurisdiction: \"MA\",\n abbreviation: \"GL\",\n family: \"named\",\n patterns: [\"Gen. Laws\", \"General Laws\"],\n },\n]\n\n/**\n * Find a CodeEntry by jurisdiction and code name token.\n *\n * Lookup strategy: for each candidate entry in the given jurisdiction,\n * check whether the normalized codeName matches or starts with any of the\n * entry's patterns (case-insensitive). Returns the entry with the longest\n * matching pattern to prefer more specific codes over general ones\n * (e.g., \"Civ. Proc.\" over \"Civ.\").\n *\n * @param jurisdiction - Two-letter state abbreviation (e.g., \"CA\", \"NY\")\n * @param codeName - The code name token to look up (e.g., \"Penal\", \"Civ. Proc.\")\n * @returns Matching CodeEntry, or undefined if not found\n *\n * @example\n * findNamedCode('NY', 'Penal') // → NY PEN entry\n * findNamedCode('CA', 'Civ. Proc.') // → CA CCP entry (not CA CIV)\n * findNamedCode('MD', 'Crim. Law') // → MD gcr entry\n * findNamedCode('NY', 'Unknown') // → undefined\n */\nexport function findNamedCode(jurisdiction: string, codeName: string): CodeEntry | undefined {\n const normalized = codeName.replace(/\\s+/g, \" \").trim().toLowerCase()\n const candidates = _byJurisdiction.get(jurisdiction)\n if (!candidates) return undefined\n\n let bestMatch: CodeEntry | undefined\n let bestLen = 0\n\n for (const { entry, lower } of candidates) {\n if (normalized === lower || normalized.startsWith(lower)) {\n if (lower.length > bestLen) {\n bestMatch = entry\n bestLen = lower.length\n }\n }\n }\n return bestMatch\n}\n\n/**\n * Pre-built index: jurisdiction → array of { entry, lower } for O(1) jurisdiction lookup.\n * Patterns are pre-lowercased to avoid per-call allocations.\n */\nconst _byJurisdiction = new Map<string, Array<{ entry: CodeEntry; lower: string }>>()\nfor (const entry of namedCodes) {\n let arr = _byJurisdiction.get(entry.jurisdiction)\n if (!arr) {\n arr = []\n _byJurisdiction.set(entry.jurisdiction, arr)\n }\n for (const pattern of entry.patterns) {\n arr.push({ entry, lower: pattern.toLowerCase() })\n }\n}\n\n/**\n * Build a case-insensitive lookup index from pattern → CodeEntry.\n * Exact match first; prefix fallback is handled in findAbbreviatedCode.\n */\nconst _byPattern = new Map<string, CodeEntry>()\nfor (const entry of abbreviatedCodes) {\n for (const pattern of entry.patterns) {\n _byPattern.set(pattern.toLowerCase(), entry)\n }\n}\n\n/**\n * Stripped-form index — pattern with all dots, whitespace, and apostrophes\n * removed. Used by `findAbbreviatedCode` to resolve OCR/spacing variants\n * like `AR.S.`, `ARS`, `A. R.S.` to the canonical `A.R.S.` entry (#348),\n * and to normalize possessive forms like `Burns'` (#363).\n */\nconst _byStrippedPattern = new Map<string, CodeEntry>()\nfor (const entry of abbreviatedCodes) {\n for (const pattern of entry.patterns) {\n const stripped = pattern.toLowerCase().replace(/[.\\s']/g, \"\")\n if (stripped.length === 0) continue\n // Last-write-wins; abbreviated arrays are ordered longest-first within an\n // entry, so the SHORTEST (canonical) form for a given stripped key wins.\n _byStrippedPattern.set(stripped, entry)\n }\n}\n\n/**\n * Find a CodeEntry by an abbreviated text token.\n *\n * Lookup order:\n * 1. Exact case-insensitive match against all patterns\n * 2. Prefix match — returns the entry whose pattern is the longest\n * prefix of `abbrevText` (handles tokens like \"RCW\" inside longer text)\n *\n * @param abbrevText - The abbreviation token to look up\n * @returns Matching CodeEntry, or undefined if not found\n *\n * @example\n * findAbbreviatedCode('R.C.') // → OH entry\n * findAbbreviatedCode('MCL') // → MI entry\n * findAbbreviatedCode('UNKNOWN') // → undefined\n */\nexport function findAbbreviatedCode(abbrevText: string): CodeEntry | undefined {\n const lower = abbrevText.toLowerCase()\n\n // 1. Exact match\n const exact = _byPattern.get(lower)\n if (exact) return exact\n\n // 2. Stripped-form match — OCR variants like `AR.S.`, `ARS`, `A. R.S.`\n // all collapse to `ars` and resolve to the canonical `A.R.S.` entry\n // (#348). Also strips apostrophes so `Burns' Indiana Statutes Annotated`\n // matches the entry's `Burns Indiana Statutes Annotated` form (#363).\n const stripped = lower.replace(/[.\\s']/g, \"\")\n if (stripped.length > 0) {\n const strippedHit = _byStrippedPattern.get(stripped)\n if (strippedHit) return strippedHit\n }\n\n // 3. Prefix fallback — find the longest pattern that is a prefix of abbrevText\n let bestMatch: CodeEntry | undefined\n let bestLen = 0\n for (const [pattern, entry] of _byPattern) {\n if (lower.startsWith(pattern) && pattern.length > bestLen) {\n bestMatch = entry\n bestLen = pattern.length\n }\n }\n return bestMatch\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ let e=null;function t(){return e}function n(t){e=t}function r(e){return e.replace(/[\\^$*+?{}[\]|()]/g,`\\$&`).replace(/\.(?=[A-Za-z])/g,`\\.?\\s*`).replace(/\.\s+/g,`\\.?\\s+`).replace(/\.$/g,`\\.?`).replace(/ +/g,`\\s+`)}function i(){let e=[];for(let t of a)if(t.regexFragment)e.push(t.regexFragment);else for(let n of t.abbreviations)e.push(r(n));e.sort((e,t)=>t.length-e.length);let t=e.join(`|`);return RegExp(`\\b(?:(\\d+)\\s+)?(${t})\\s*,?\\s*(?:§§?|[Ss]ections?|[Ss]ec\\.?)?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9])|,(?=\\d))*(?:\\([^)]*\\)|\\[[^\\]]*\\])*(?:\\s*et\\s+seq\\.?)?)`,`g`)}const a=[{jurisdiction:`FL`,abbreviations:[`Fla. Stat. Ann.`,`Fla. Stat.`,`Fla Stat`,`F.S.`,`FS`],regexFragment:`Fla\\.?\\s*Stat(?:utes)?\\.?(?:\\s*Ann\\.?)?|F\\.?S\\.?`},{jurisdiction:`OH`,abbreviations:[`Ohio Rev. Code Ann.`,`Ohio Rev. Code`,`O.R.C.`,`ORC`,`RC`,`R.C.`],regexFragment:`Ohio\\s+Rev\\.?\\s+Code(?:\\s+Ann\\.?)?|O\\.?\\s*R\\.?\\s*C\\.?|R\\.?\\s*C\\.?`},{jurisdiction:`MI`,abbreviations:[`Mich. Comp. Laws Ann.`,`Mich. Comp. Laws Serv.`,`Mich. Comp. Laws`,`M.C.L.`,`MCLA`,`MCLS`,`MCL`],regexFragment:`Mich\\.?\\s+Comp\\.?\\s+Laws(?:\\s+(?:Ann|Serv)\\.?)?|M\\.?C\\.?L\\.?|MCL[AS]?`},{jurisdiction:`MI`,abbreviations:[`Mich. Stat. Ann.`,`MSA`],regexFragment:`Mich\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|MSA`},{jurisdiction:`UT`,abbreviations:[`Utah Code Ann.`,`Utah Code`,`U.C.A.`,`UCA`],regexFragment:`Utah\\s+Code(?:\\s+Ann\\.?)?|U\\.?C\\.?A\\.?`},{jurisdiction:`CO`,abbreviations:[`Colorado Revised Statutes Annotated`,`Colo. Rev. Stat. Ann.`,`Colorado Revised Statutes 1963`,`Colorado Revised Statutes 1973`,`Colorado Revised Statutes`,`Colo. Rev. Stat.`,`C.R.S. 1963`,`C.R.S. 1973`,`C.R.S.`,`CRS`],regexFragment:`Colo(?:rado)?\\.?\\s+Rev(?:ised)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?(?:\\s+19\\d{2})?|C\\.?R\\.?S\\.?(?:\\s+19\\d{2})?`},{jurisdiction:`WA`,abbreviations:[`Wash. Rev. Code Ann.`,`Wash. Rev. Code`,`RCW`],regexFragment:`Wash\\.?\\s+Rev\\.?\\s+Code(?:\\s+Ann\\.?)?|RCW`},{jurisdiction:`NC`,abbreviations:[`N.C. Gen. Stat. Ann.`,`N.C. Gen. Stat.`,`N.C.G.S.`,`NCGS`,`G.S.`,`GS`],regexFragment:`N\\.?C\\.?\\s*Gen\\.?\\s*Stat\\.?(?:\\s+Ann\\.?)?|N\\.?C\\.?G\\.?S\\.?|G\\.?S\\.?`},{jurisdiction:`GA`,abbreviations:[`Ga. Code Ann.`,`Ga. Code`,`O.C.G.A.`,`OCGA`],regexFragment:`Ga\\.?\\s+Code(?:\\s+Ann\\.?)?|O\\.?C\\.?G\\.?A\\.?`},{jurisdiction:`PA`,abbreviations:[`Pa. Cons. Stat.`,`Pa. C.S.A.`,`Pa. C.S.`,`Pa.C.S.A.`,`Pa.C.S.`],regexFragment:`Pa\\.?\\s*C\\.?\\s*S\\.?\\s*A?\\.?|Pa\\.?\\s+Cons\\.?\\s+Stat\\.?`},{jurisdiction:`PA`,abbreviations:[`PS`,`P.S.`],regexFragment:`P\\.?\\s*S\\.?`},{jurisdiction:`IN`,abbreviations:[`Burns Ind. Code Ann.`,`Burns Ind. Code`,`Indiana Code Ann.`,`Indiana Code`,`Ind. Code Ann.`,`Ind. Code`,`IC`],regexFragment:`Burns\\s+Ind\\.?\\s+Code(?:\\s+Ann\\.?)?|Ind(?:iana)?\\.?\\s+Code(?:\\s+Ann\\.?)?|IND\\.?\\s+CODE|IC`},{jurisdiction:`IN`,abbreviations:[`Burns Indiana Statutes Annotated`,`Burns Ind. Stat. Ann.`,`Ind. Stat. Ann.`,`Ind. Ann. Stat.`],regexFragment:`Burns(?:'s|')?\\s+Ind(?:iana)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?|Ind(?:iana)?\\.?\\s+Stat\\.?\\s+Ann\\.?|Ind(?:iana)?\\.?\\s+Ann\\.?\\s+Stat\\.?`},{jurisdiction:`NJ`,abbreviations:[`N.J.S.A.`,`NJSA`,`N.J.S.`,`NJS`],regexFragment:`N\\.?J\\.?\\s*S(?:tat)?\\.?\\s*A?\\.?`},{jurisdiction:`DE`,abbreviations:[`Del. Code Ann.`,`Del. Code`,`Del. C.`,`Del C`],regexFragment:`Del\\.?\\s*(?:Code(?:\\s+Ann\\.?)?|C\\.?)`},{jurisdiction:`AK`,abbreviations:[`Alaska Stat. Ann.`,`Alaska Stat.`,`AS`],regexFragment:`Alaska\\s+Stat\\.?(?:\\s+Ann\\.?)?|A\\.?S\\.?`},{jurisdiction:`AZ`,abbreviations:[`Ariz. Rev. Stat. Ann.`,`Ariz. Rev. Stat.`,`A.R.S.`],regexFragment:`Ariz\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|A\\.?\\s*R\\.?\\s*S\\.?`},{jurisdiction:`AR`,abbreviations:[`Arkansas Code Annotated`,`Ark. Code Ann.`,`Arkansas Code`,`A.C.A.`],regexFragment:`Ark(?:ansas)?\\.?\\s+Code(?:\\s+Ann(?:otated)?\\.?)?|A\\.?C\\.?A\\.?`},{jurisdiction:`AR`,abbreviations:[`Arkansas Statutes Annotated`,`Ark. Stat. Ann.`,`Ark. Stat.`],regexFragment:`Ark(?:ansas)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?`},{jurisdiction:`CT`,abbreviations:[`Conn. Gen. Stat. Ann.`,`Conn. Gen. Stat.`,`C.G.S.`],regexFragment:`Conn\\.?\\s+Gen\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|C\\.?G\\.?S\\.?`},{jurisdiction:`DC`,abbreviations:[`D.C. Official Code`,`D.C. Code Ann.`,`D.C. Code`],regexFragment:`D\\.?C\\.?\\s+(?:Official\\s+)?Code(?:\\s+Ann\\.?)?`},{jurisdiction:`HI`,abbreviations:[`Haw. Rev. Stat. Ann.`,`Haw. Rev. Stat.`,`HRS`],regexFragment:`Haw\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|HRS`},{jurisdiction:`IA`,abbreviations:[`Iowa Code Ann.`,`Iowa Code`,`I.C.A.`],regexFragment:`Iowa\\s+Code(?:\\s+Ann\\.?)?|I\\.?C\\.?A\\.?`},{jurisdiction:`ID`,abbreviations:[`Idaho Code Ann.`,`Idaho Code`,`I.C.`],regexFragment:`Idaho\\s+Code(?:\\s+Ann\\.?)?|I\\.?\\s*C\\.?`},{jurisdiction:`KS`,abbreviations:[`Kan. Stat. Ann.`,`K.S.A.`],regexFragment:`Kan\\.?\\s+Stat\\.?\\s+Ann\\.?|K\\.?S\\.?A\\.?`},{jurisdiction:`KY`,abbreviations:[`Ky. Rev. Stat. Ann.`,`Ky. Rev. Stat.`,`KRS`],regexFragment:`Ky\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|KRS`},{jurisdiction:`LA`,abbreviations:[`La. Rev. Stat. Ann.`,`LSA-R.S.`,`La. R.S.`],regexFragment:`La\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|La\\.?\\s*R\\.?S\\.?|LSA-R\\.?S\\.?`},{jurisdiction:`ME`,abbreviations:[`Me. Rev. Stat. Ann.`,`Me. Rev. Stat.`,`M.R.S.A.`,`M.R.S.`],regexFragment:`Me\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|M\\.?R\\.?S\\.?A?\\.?`},{jurisdiction:`MN`,abbreviations:[`Minnesota Statutes`,`Minn. Stat. Ann.`,`Minn. Stat.`,`Minn. St.`,`M.S.A.`],regexFragment:`Minnesota\\s+Statutes(?:\\s+Ann(?:otated)?\\.?)?|Minn\\.?\\s+(?:Stat|St)\\.?(?:\\s+Ann\\.?)?|M\\.S\\.A\\.`},{jurisdiction:`MS`,abbreviations:[`Miss. Code Ann.`,`Mississippi Code`,`MS Code`],regexFragment:`Miss(?:issippi)?\\.?\\s+Code(?:\\s+Ann\\.?)?|MS\\s+Code`},{jurisdiction:`MO`,abbreviations:[`Mo. Ann. Stat.`,`Mo. Rev. Stat.`,`V.A.M.S.`,`RSMo`],regexFragment:`Mo\\.?\\s+(?:Ann\\.?\\s+|Rev\\.?\\s+)Stat\\.?|V\\.?A\\.?M\\.?S\\.?|RSMo`},{jurisdiction:`MT`,abbreviations:[`Mont. Code Ann.`,`MCA`],regexFragment:`Mont\\.?\\s+Code(?:\\s+Ann\\.?)?|MCA`},{jurisdiction:`ND`,abbreviations:[`N.D. Cent. Code`,`N.D.C.C.`],regexFragment:`N\\.?D\\.?\\s+Cent\\.?\\s+Code|N\\.?D\\.?C\\.?C\\.?`},{jurisdiction:`NE`,abbreviations:[`Neb. Rev. Stat.`,`R.R.S. Neb.`,`R.R.S.`],regexFragment:`Neb\\.?\\s+Rev\\.?\\s+Stat\\.?|R\\.?R\\.?S\\.?(?:\\s+Neb\\.?)?`},{jurisdiction:`NH`,abbreviations:[`N.H. Rev. Stat. Ann.`,`N.H. RSA`,`RSA`],regexFragment:`N\\.?H\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|N\\.?H\\.?\\s+RSA|RSA`},{jurisdiction:`NM`,abbreviations:[`N.M. Stat. Ann.`,`NMSA 1978`,`NMSA`],regexFragment:`N\\.?M\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|NMSA(?:\\s+1978)?`},{jurisdiction:`NV`,abbreviations:[`Nev. Rev. Stat. Ann.`,`Nev. Rev. Stat.`,`NRS`],regexFragment:`Nev\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|NRS`},{jurisdiction:`OK`,abbreviations:[`Okla. Stat. Ann.`,`Okla. Stat.`,`O.S.`],regexFragment:`Okla\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|O\\.?S\\.?`},{jurisdiction:`OR`,abbreviations:[`Or. Rev. Stat. Ann.`,`Or. Rev. Stat.`,`ORS`],regexFragment:`Or\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|ORS`},{jurisdiction:`RI`,abbreviations:[`R.I. Gen. Laws`,`R.I.G.L.`],regexFragment:`R\\.?I\\.?\\s+Gen\\.?\\s+Laws|R\\.?I\\.?G\\.?L\\.?`},{jurisdiction:`SC`,abbreviations:[`S.C. Code`,`S.C. Code Ann.`],regexFragment:`S\\.?C\\.?\\s*Code(?:\\s+Ann\\.?)?`},{jurisdiction:`SD`,abbreviations:[`S.D. Codified Laws`,`S.D.C.L.`,`SDCL`],regexFragment:`S\\.?D\\.?\\s+Codified\\s+Laws|S\\.?D\\.?C\\.?L\\.?|SDCL`},{jurisdiction:`TN`,abbreviations:[`Tenn. Code Ann.`,`Tennessee Code`,`TN Code`,`T.C.A.`],regexFragment:`Tenn(?:essee)?\\.?\\s+Code(?:\\s+Ann\\.?)?|T\\.?C\\.?A\\.?|TN\\s+Code`},{jurisdiction:`VT`,abbreviations:[`Vt. Stat. Ann.`,`V.S.A.`],regexFragment:`Vt\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|V\\.?S\\.?A\\.?`},{jurisdiction:`WI`,abbreviations:[`Wis. Stat. Ann.`,`Wis. Stat.`,`W.S.A.`],regexFragment:`Wis\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|W\\.?S\\.?A\\.?`},{jurisdiction:`WV`,abbreviations:[`W. Va. Code`,`WV Code`,`W. Va. Code Ann.`],regexFragment:`W\\.?\\s*Va\\.?\\s*Code(?:\\s+Ann\\.?)?|WV\\s+Code`},{jurisdiction:`WY`,abbreviations:[`Wyo. Stat. Ann.`,`Wyo. Stat.`,`W.S.`],regexFragment:`Wyo\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|W\\.?S\\.?`}],o=a.map(e=>({jurisdiction:e.jurisdiction,abbreviation:e.abbreviations[e.abbreviations.length-1],family:`abbreviated`,patterns:e.abbreviations})),s=[{jurisdiction:`NY`,abbreviation:`CPLR`,family:`named`,patterns:[`C.P.L.R.`,`CPLR`,`Civ. Prac. L. & R.`,`Civil Practice Law & Rules`]},{jurisdiction:`NY`,abbreviation:`CPL`,family:`named`,patterns:[`Crim. Proc.`,`Criminal Procedure`]},{jurisdiction:`NY`,abbreviation:`GBS`,family:`named`,patterns:[`Gen. Bus.`,`General Business`]},{jurisdiction:`NY`,abbreviation:`GOB`,family:`named`,patterns:[`Gen. Oblig.`,`General Obligations`]},{jurisdiction:`NY`,abbreviation:`PEN`,family:`named`,patterns:[`Penal`]},{jurisdiction:`NY`,abbreviation:`ISC`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`NY`,abbreviation:`LAB`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`NY`,abbreviation:`RPL`,family:`named`,patterns:[`Real Prop.`,`Real Property`]},{jurisdiction:`NY`,abbreviation:`EXC`,family:`named`,patterns:[`Exec.`,`Executive`]},{jurisdiction:`NY`,abbreviation:`JUD`,family:`named`,patterns:[`Jud.`,`Judiciary`]},{jurisdiction:`NY`,abbreviation:`SCP`,family:`named`,patterns:[`Surr. Ct. Proc.`,`Surrogate's Court Procedure`]},{jurisdiction:`NY`,abbreviation:`CVR`,family:`named`,patterns:[`Civ. Rights`,`Civil Rights`]},{jurisdiction:`NY`,abbreviation:`CVP`,family:`named`,patterns:[`Civ. Prac.`,`Civil Practice`]},{jurisdiction:`NY`,abbreviation:`EDN`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`NY`,abbreviation:`TAX`,family:`named`,patterns:[`Tax`]},{jurisdiction:`NY`,abbreviation:`PBH`,family:`named`,patterns:[`Pub. Health`,`Public Health`]},{jurisdiction:`NY`,abbreviation:`SOS`,family:`named`,patterns:[`Soc. Serv.`,`Social Services`]},{jurisdiction:`NY`,abbreviation:`ELN`,family:`named`,patterns:[`Elec.`,`Election`]},{jurisdiction:`NY`,abbreviation:`ENV`,family:`named`,patterns:[`Env. Conserv.`,`Environmental Conservation`]},{jurisdiction:`NY`,abbreviation:`BNK`,family:`named`,patterns:[`Bank.`,`Banking`]},{jurisdiction:`NY`,abbreviation:`DRL`,family:`named`,patterns:[`Dom. Rel.`,`Domestic Relations`]},{jurisdiction:`CA`,abbreviation:`CCP`,family:`named`,patterns:[`Civ. Proc.`,`Civil Procedure`]},{jurisdiction:`CA`,abbreviation:`BPC`,family:`named`,patterns:[`Bus. & Prof.`,`Business & Professions`]},{jurisdiction:`CA`,abbreviation:`HSC`,family:`named`,patterns:[`Health & Saf.`,`Health & Safety`]},{jurisdiction:`CA`,abbreviation:`RTC`,family:`named`,patterns:[`Rev. & Tax.`,`Revenue & Taxation`]},{jurisdiction:`CA`,abbreviation:`FGC`,family:`named`,patterns:[`Fish & Game`]},{jurisdiction:`CA`,abbreviation:`FAC`,family:`named`,patterns:[`Food & Agric.`,`Food & Agricultural`]},{jurisdiction:`CA`,abbreviation:`HNC`,family:`named`,patterns:[`Harb. & Nav.`,`Harbors & Navigation`]},{jurisdiction:`CA`,abbreviation:`MVC`,family:`named`,patterns:[`Mil. & Vet.`,`Military & Veterans`]},{jurisdiction:`CA`,abbreviation:`PCC`,family:`named`,patterns:[`Pub. Cont.`,`Public Contract`,`Public Contracts`]},{jurisdiction:`CA`,abbreviation:`PRC`,family:`named`,patterns:[`Pub. Res.`,`Public Resources`]},{jurisdiction:`CA`,abbreviation:`PUC`,family:`named`,patterns:[`Pub. Util.`,`Public Utilities`]},{jurisdiction:`CA`,abbreviation:`SHC`,family:`named`,patterns:[`Sts. & High.`,`Streets & Highways`]},{jurisdiction:`CA`,abbreviation:`UIC`,family:`named`,patterns:[`Unemp. Ins.`,`Unemployment Insurance`]},{jurisdiction:`CA`,abbreviation:`WIC`,family:`named`,patterns:[`Welf. & Inst.`,`Welfare & Institutions`]},{jurisdiction:`CA`,abbreviation:`CIV`,family:`named`,patterns:[`Civ.`,`Civil`]},{jurisdiction:`CA`,abbreviation:`COM`,family:`named`,patterns:[`Com.`,`Commercial`]},{jurisdiction:`CA`,abbreviation:`CORP`,family:`named`,patterns:[`Corp.`,`Corporations`]},{jurisdiction:`CA`,abbreviation:`EDC`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`CA`,abbreviation:`ELEC`,family:`named`,patterns:[`Elec.`,`Elections`]},{jurisdiction:`CA`,abbreviation:`EVID`,family:`named`,patterns:[`Evid.`,`Evidence`]},{jurisdiction:`CA`,abbreviation:`FAM`,family:`named`,patterns:[`Fam.`,`Family`]},{jurisdiction:`CA`,abbreviation:`FIN`,family:`named`,patterns:[`Fin.`,`Financial`]},{jurisdiction:`CA`,abbreviation:`GOV`,family:`named`,patterns:[`Gov.`,`Government`]},{jurisdiction:`CA`,abbreviation:`INS`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`CA`,abbreviation:`LAB`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`CA`,abbreviation:`PEN`,family:`named`,patterns:[`Penal`]},{jurisdiction:`CA`,abbreviation:`PROB`,family:`named`,patterns:[`Prob.`,`Probate`]},{jurisdiction:`CA`,abbreviation:`VEH`,family:`named`,patterns:[`Veh.`,`Vehicle`]},{jurisdiction:`CA`,abbreviation:`WAT`,family:`named`,patterns:[`Wat.`,`Water`]},{jurisdiction:`TX`,abbreviation:`CP`,family:`named`,patterns:[`Civ. Prac. & Rem.`,`Civil Practice & Remedies`]},{jurisdiction:`TX`,abbreviation:`CR`,family:`named`,patterns:[`Crim. Proc.`,`Code of Criminal Procedure`]},{jurisdiction:`TX`,abbreviation:`BC`,family:`named`,patterns:[`Bus. & Com.`,`Business & Commerce`]},{jurisdiction:`TX`,abbreviation:`BO`,family:`named`,patterns:[`Bus. Org.`,`Business Organizations`]},{jurisdiction:`TX`,abbreviation:`HS`,family:`named`,patterns:[`Health & Saf.`,`Health & Safety`]},{jurisdiction:`TX`,abbreviation:`HR`,family:`named`,patterns:[`Human Res.`,`Human Resources`]},{jurisdiction:`TX`,abbreviation:`LG`,family:`named`,patterns:[`Local Gov.`,`Local Government`]},{jurisdiction:`TX`,abbreviation:`NR`,family:`named`,patterns:[`Nat. Res.`,`Natural Resources`]},{jurisdiction:`TX`,abbreviation:`PW`,family:`named`,patterns:[`Parks & Wild.`,`Parks & Wildlife`]},{jurisdiction:`TX`,abbreviation:`SD`,family:`named`,patterns:[`Spec. Dist.`,`Special District`]},{jurisdiction:`TX`,abbreviation:`AL`,family:`named`,patterns:[`Alco. Bev.`,`Alcoholic Beverage`]},{jurisdiction:`TX`,abbreviation:`WL`,family:`named`,patterns:[`Water`]},{jurisdiction:`TX`,abbreviation:`CV`,family:`named`,patterns:[`Vernon's Civ. Stat.`,`Vernon's Civil Statutes`]},{jurisdiction:`TX`,abbreviation:`GV`,family:`named`,patterns:[`Gov't`,`Government`]},{jurisdiction:`TX`,abbreviation:`AG`,family:`named`,patterns:[`Agric.`,`Agriculture`]},{jurisdiction:`TX`,abbreviation:`ED`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`TX`,abbreviation:`EL`,family:`named`,patterns:[`Elec.`,`Election`]},{jurisdiction:`TX`,abbreviation:`ES`,family:`named`,patterns:[`Est.`,`Estates`]},{jurisdiction:`TX`,abbreviation:`FA`,family:`named`,patterns:[`Fam.`,`Family`]},{jurisdiction:`TX`,abbreviation:`FI`,family:`named`,patterns:[`Fin.`,`Finance`]},{jurisdiction:`TX`,abbreviation:`IN`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`TX`,abbreviation:`LA`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`TX`,abbreviation:`OC`,family:`named`,patterns:[`Occup.`,`Occupations`]},{jurisdiction:`TX`,abbreviation:`PE`,family:`named`,patterns:[`Penal`]},{jurisdiction:`TX`,abbreviation:`PB`,family:`named`,patterns:[`Prob.`,`Probate`]},{jurisdiction:`TX`,abbreviation:`PR`,family:`named`,patterns:[`Prop.`,`Property`]},{jurisdiction:`TX`,abbreviation:`TX`,family:`named`,patterns:[`Tax`]},{jurisdiction:`TX`,abbreviation:`TN`,family:`named`,patterns:[`Transp.`,`Transportation`]},{jurisdiction:`TX`,abbreviation:`UT`,family:`named`,patterns:[`Util.`,`Utilities`]},{jurisdiction:`MD`,abbreviation:`gag`,family:`named`,patterns:[`Agric.`,`Agriculture`]},{jurisdiction:`MD`,abbreviation:`gab`,family:`named`,patterns:[`Alc. Bev.`,`Alcoholic Beverages and Cannabis`]},{jurisdiction:`MD`,abbreviation:`gbo`,family:`named`,patterns:[`Bus. Occ. & Prof.`,`Business Occupations and Professions`]},{jurisdiction:`MD`,abbreviation:`gbr`,family:`named`,patterns:[`Bus. Reg.`,`Business Regulation`]},{jurisdiction:`MD`,abbreviation:`gcl`,family:`named`,patterns:[`Com. Law`,`Commercial Law`]},{jurisdiction:`MD`,abbreviation:`gca`,family:`named`,patterns:[`Corps. & Ass'ns`,`Corporations and Associations`]},{jurisdiction:`MD`,abbreviation:`gcs`,family:`named`,patterns:[`Corr. Servs.`,`Correctional Services`]},{jurisdiction:`MD`,abbreviation:`gcj`,family:`named`,patterns:[`Cts. & Jud. Proc.`,`Courts and Judicial Proceedings`]},{jurisdiction:`MD`,abbreviation:`gcr`,family:`named`,patterns:[`Crim. Law`,`Criminal Law`]},{jurisdiction:`MD`,abbreviation:`gcp`,family:`named`,patterns:[`Crim. Proc.`,`Criminal Procedure`]},{jurisdiction:`MD`,abbreviation:`gec`,family:`named`,patterns:[`Econ. Dev.`,`Economic Development`]},{jurisdiction:`MD`,abbreviation:`ged`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`MD`,abbreviation:`gel`,family:`named`,patterns:[`Elec. Law`,`Election Law`]},{jurisdiction:`MD`,abbreviation:`gen`,family:`named`,patterns:[`Envir.`,`Environment`]},{jurisdiction:`MD`,abbreviation:`get`,family:`named`,patterns:[`Est. & Trusts`,`Estates and Trusts`]},{jurisdiction:`MD`,abbreviation:`gfl`,family:`named`,patterns:[`Fam. Law`,`Family Law`]},{jurisdiction:`MD`,abbreviation:`gfi`,family:`named`,patterns:[`Fin. Inst.`,`Financial Institutions`]},{jurisdiction:`MD`,abbreviation:`ggp`,family:`named`,patterns:[`Gen. Prov.`,`General Provisions`]},{jurisdiction:`MD`,abbreviation:`ghg`,family:`named`,patterns:[`Health-Gen.`,`Health - General`]},{jurisdiction:`MD`,abbreviation:`gho`,family:`named`,patterns:[`Health Occ.`,`Health Occupations`]},{jurisdiction:`MD`,abbreviation:`ghs`,family:`named`,patterns:[`Hous. & Cmty. Dev.`,`Housing and Community Development`]},{jurisdiction:`MD`,abbreviation:`ghu`,family:`named`,patterns:[`Hum. Servs.`,`Human Services`]},{jurisdiction:`MD`,abbreviation:`gin`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`MD`,abbreviation:`gle`,family:`named`,patterns:[`Lab. & Empl.`,`Labor and Employment`]},{jurisdiction:`MD`,abbreviation:`glu`,family:`named`,patterns:[`Land Use`]},{jurisdiction:`MD`,abbreviation:`glg`,family:`named`,patterns:[`Local Gov't`,`Local Government`]},{jurisdiction:`MD`,abbreviation:`gnr`,family:`named`,patterns:[`Nat. Res.`,`Natural Resources`]},{jurisdiction:`MD`,abbreviation:`gps`,family:`named`,patterns:[`Pub. Safety`,`Public Safety`]},{jurisdiction:`MD`,abbreviation:`gpu`,family:`named`,patterns:[`PUC`,`Public Utilities`]},{jurisdiction:`MD`,abbreviation:`grp`,family:`named`,patterns:[`Real Prop.`,`Real Property`]},{jurisdiction:`MD`,abbreviation:`gsf`,family:`named`,patterns:[`State Fin. & Proc.`,`State Finance and Procurement`]},{jurisdiction:`MD`,abbreviation:`gsg`,family:`named`,patterns:[`State Gov't`,`State Government`]},{jurisdiction:`MD`,abbreviation:`gsp`,family:`named`,patterns:[`State Pers. & Pens.`,`State Personnel and Pensions`]},{jurisdiction:`MD`,abbreviation:`gtg`,family:`named`,patterns:[`Tax-Gen.`,`Tax - General`]},{jurisdiction:`MD`,abbreviation:`gtp`,family:`named`,patterns:[`Tax-Prop.`,`Tax - Property`]},{jurisdiction:`MD`,abbreviation:`gtr`,family:`named`,patterns:[`Transp.`,`Transportation`]},{jurisdiction:`VA`,abbreviation:`CODE`,family:`named`,patterns:[`Code`,`Code Ann.`]},{jurisdiction:`AL`,abbreviation:`CODE`,family:`named`,patterns:[`Code`,`Code Ann.`]},{jurisdiction:`MA`,abbreviation:`GL`,family:`named`,patterns:[`Gen. Laws`,`General Laws`]}];function c(e,t){let n=t.replace(/\s+/g,` `).trim().toLowerCase(),r=l.get(e);if(!r)return;let i,a=0;for(let{entry:e,lower:t}of r)(n===t||n.startsWith(t))&&t.length>a&&(i=e,a=t.length);return i}const l=new Map;for(let e of s){let t=l.get(e.jurisdiction);t||(t=[],l.set(e.jurisdiction,t));for(let n of e.patterns)t.push({entry:e,lower:n.toLowerCase()})}const u=new Map;for(let e of o)for(let t of e.patterns)u.set(t.toLowerCase(),e);const d=new Map;for(let e of o)for(let t of e.patterns){let n=t.toLowerCase().replace(/[.\s']/g,``);n.length!==0&&d.set(n,e)}function f(e){let t=e.toLowerCase(),n=u.get(t);if(n)return n;let r=t.replace(/[.\s']/g,``);if(r.length>0){let e=d.get(r);if(e)return e}let i,a=0;for(let[e,n]of u)t.startsWith(e)&&e.length>a&&(i=n,a=e.length);return i}export{i as a,n as c,s as i,f as n,a as o,c as r,t as s,o as t};
2
+ //# sourceMappingURL=knownCodes-DcsEnbF3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knownCodes-DcsEnbF3.mjs","names":[],"sources":["../src/data/reportersCache.ts","../src/data/stateStatutes.ts","../src/data/knownCodes.ts"],"sourcesContent":["/**\n * Lightweight reporters-db cache — no dynamic imports.\n *\n * Separated from reporters.ts so modules in the core bundle\n * (e.g., filterFalsePositives) can read the cached database\n * without pulling in the heavy reporters.json dynamic import.\n *\n * @module data/reportersCache\n */\n\nimport type { ReportersDatabase } from \"./reporters\"\n\nlet cached: ReportersDatabase | null = null\n\n/** Get cached reporter database (null if not yet loaded). */\nexport function getReportersSync(): ReportersDatabase | null {\n return cached\n}\n\n/** Set the cached reporter database (called by loadReporters). */\nexport function setReportersCache(db: ReportersDatabase): void {\n cached = db\n}\n","/**\n * State statute abbreviation table — single source of truth for the\n * abbreviated-code tokenizer pattern and the knownCodes lookup registry.\n */\n\nexport interface StateStatuteEntry {\n /** Two-letter jurisdiction code (e.g., \"AK\", \"AZ\") */\n jurisdiction: string\n /** All recognized abbreviation forms — used for lookup by findAbbreviatedCode */\n abbreviations: string[]\n /**\n * Regex fragment for tokenizer alternation. If omitted, auto-generated\n * from abbreviations via escapeForRegex. Provide explicitly when the\n * pattern needs optional components (e.g., \"Stat(?:utes)?\").\n */\n regexFragment?: string\n}\n\n/**\n * Convert a plain abbreviation string into a regex fragment.\n *\n * Rules:\n * - Periods followed by a letter (e.g., \"T.C.\") → optional period + optional space\n * - Periods followed by a space (e.g., \"Stat. Ann.\") → optional period + flexible space\n * - Trailing periods → optional period\n * - Spaces → flexible whitespace (\\s+)\n * - Regex-special characters are escaped\n */\nexport function escapeForRegex(abbreviation: string): string {\n return (\n abbreviation\n // Escape regex-special chars (except period and space, handled below)\n .replace(/[\\\\^$*+?{}[\\]|()]/g, \"\\\\$&\")\n // Period followed by letter: \"T.C\" → \"T\\.?\\s*C\"\n .replace(/\\.(?=[A-Za-z])/g, \"\\\\.?\\\\s*\")\n // Period followed by space: \"Stat. Ann\" → \"Stat\\.?\\s+Ann\"\n .replace(/\\.\\s+/g, \"\\\\.?\\\\s+\")\n // Trailing period: \"Ann.\" → \"Ann\\.?\"\n .replace(/\\.$/g, \"\\\\.?\")\n // Remaining spaces → flexible whitespace\n .replace(/ +/g, \"\\\\s+\")\n )\n}\n\n/**\n * Build the abbreviated-code tokenizer regex from stateStatuteEntries.\n *\n * Produces the same capture group structure as the original hardcoded regex:\n * (1) optional leading title number\n * (2) abbreviation text\n * (3) section + subsections + et seq.\n *\n * Fragments are sorted longest-first for PEG-style ordered choice.\n */\nexport function buildAbbreviatedCodeRegex(): RegExp {\n const allFragments: string[] = []\n\n for (const entry of stateStatuteEntries) {\n if (entry.regexFragment) {\n allFragments.push(entry.regexFragment)\n } else {\n for (const abbrev of entry.abbreviations) {\n allFragments.push(escapeForRegex(abbrev))\n }\n }\n }\n\n // Sort longest-first so more specific patterns match before shorter ones\n allFragments.sort((a, b) => b.length - a.length)\n\n const alternation = allFragments.join(\"|\")\n\n return new RegExp(\n // Section body: digits prefix, then alphanumeric/colon/slash/hyphen OR\n // period-followed-by-alphanumeric (lookahead) OR comma-followed-by-digit\n // (Kansas comma-section format `NN-N,NNN` like `K.S.A. 23-9,101`, #367).\n // Period and comma guards prevent sentence punctuation from being\n // absorbed into the section.\n //\n // Section connector: `§`, `§§`, the spelled-out word `section(s)` /\n // `Section(s)` (#348), or the abbreviation `sec.` / `Sec.` (Tennessee\n // and several other state corpora interchange these — #398). Arizona\n // cites as `A.R.S. section 14-2804(A)` interchangeably with `A.R.S. §\n // 14-2804(A)`.\n // Optional comma between code name and connector (`Idaho Code, § N`) is\n // common in Idaho practice (#360) and harmless elsewhere.\n // Trailing subscript groups accept either parens or brackets — MSA uses\n // `[N]` for subdivisions (`MSA 23.710[252]`) #370.\n `\\\\b(?:(\\\\d+)\\\\s+)?(${alternation})\\\\s*,?\\\\s*(?:§§?|[Ss]ections?|[Ss]ec\\\\.?)?\\\\s*(\\\\d+(?:[A-Za-z0-9:/-]|\\\\.(?=[A-Za-z0-9])|,(?=\\\\d))*(?:\\\\([^)]*\\\\)|\\\\[[^\\\\]]*\\\\])*(?:\\\\s*et\\\\s+seq\\\\.?)?)`,\n \"g\",\n )\n}\n\n/**\n * Abbreviations are ordered longest-first within each entry. The last element\n * is used as the canonical short abbreviation in knownCodes.ts.\n */\nexport const stateStatuteEntries: StateStatuteEntry[] = [\n // ── Florida ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"FL\",\n abbreviations: [\"Fla. Stat. Ann.\", \"Fla. Stat.\", \"Fla Stat\", \"F.S.\", \"FS\"],\n regexFragment: \"Fla\\\\.?\\\\s*Stat(?:utes)?\\\\.?(?:\\\\s*Ann\\\\.?)?|F\\\\.?S\\\\.?\",\n },\n // ── Ohio ───────────────────────────────────────────────────────────────────\n // Inter-letter spacing tolerance — `R. C. 713.15` (with space) is the\n // dominant Ohio court-published style, more common than the no-space\n // `R.C. 713.15`. The federal Internal Revenue Code (`I.R.C.`) has its\n // own dedicated pattern (#376) so the `I.` prefix won't trigger Ohio.\n // Canonical abbreviation is `R.C.` (Bluebook); ordered last so the\n // stripped-form fallback normalizes spaced/dotless variants to it. #388\n {\n jurisdiction: \"OH\",\n abbreviations: [\"Ohio Rev. Code Ann.\", \"Ohio Rev. Code\", \"O.R.C.\", \"ORC\", \"RC\", \"R.C.\"],\n regexFragment:\n \"Ohio\\\\s+Rev\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|O\\\\.?\\\\s*R\\\\.?\\\\s*C\\\\.?|R\\\\.?\\\\s*C\\\\.?\",\n },\n // ── Michigan ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"MI\",\n abbreviations: [\n \"Mich. Comp. Laws Ann.\",\n \"Mich. Comp. Laws Serv.\",\n \"Mich. Comp. Laws\",\n \"M.C.L.\",\n \"MCLA\",\n \"MCLS\",\n \"MCL\",\n ],\n regexFragment: \"Mich\\\\.?\\\\s+Comp\\\\.?\\\\s+Laws(?:\\\\s+(?:Ann|Serv)\\\\.?)?|M\\\\.?C\\\\.?L\\\\.?|MCL[AS]?\",\n },\n // Michigan Statutes Annotated (MSA) — historical Callaghan-published\n // companion to MCL. Bare `MSA` (no dots) is Michigan; the dotted `M.S.A.`\n // is reserved for Minnesota Statutes Annotated (Bluebook standard).\n // Separate entry from MCL so the canonical `code` field stays `MSA` rather\n // than being normalized to `MCL`. #370\n {\n jurisdiction: \"MI\",\n abbreviations: [\"Mich. Stat. Ann.\", \"MSA\"],\n regexFragment: \"Mich\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|MSA\",\n },\n // ── Utah ───────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"UT\",\n abbreviations: [\"Utah Code Ann.\", \"Utah Code\", \"U.C.A.\", \"UCA\"],\n regexFragment: \"Utah\\\\s+Code(?:\\\\s+Ann\\\\.?)?|U\\\\.?C\\\\.?A\\\\.?\",\n },\n // ── Colorado ───────────────────────────────────────────────────────────────\n // Colorado has two compilations: pre-1973 (`C.R.S. 1963`) and modern\n // (`C.R.S.` / `C.R.S. 1973`). The year suffix is part of the code name,\n // not an edition parenthetical — without absorbing it into the\n // abbreviation capture the section body would swallow the year (`C.R.S.\n // 1963 § 148-21-34` → section=\"1963\"; #352). The optional `\\s+19\\d{2}`\n // tail attaches `1963` / `1973` / etc. to the code, and the canonical\n // year-suffixed forms are added to the abbreviations array so\n // `findAbbreviatedCode` resolves them via exact match.\n {\n jurisdiction: \"CO\",\n abbreviations: [\n \"Colorado Revised Statutes Annotated\",\n \"Colo. Rev. Stat. Ann.\",\n \"Colorado Revised Statutes 1963\",\n \"Colorado Revised Statutes 1973\",\n \"Colorado Revised Statutes\",\n \"Colo. Rev. Stat.\",\n \"C.R.S. 1963\",\n \"C.R.S. 1973\",\n \"C.R.S.\",\n \"CRS\",\n ],\n regexFragment:\n \"Colo(?:rado)?\\\\.?\\\\s+Rev(?:ised)?\\\\.?\\\\s+Stat(?:utes)?\\\\.?(?:\\\\s+Ann(?:otated)?\\\\.?)?(?:\\\\s+19\\\\d{2})?|C\\\\.?R\\\\.?S\\\\.?(?:\\\\s+19\\\\d{2})?\",\n },\n // ── Washington ─────────────────────────────────────────────────────────────\n {\n jurisdiction: \"WA\",\n abbreviations: [\"Wash. Rev. Code Ann.\", \"Wash. Rev. Code\", \"RCW\"],\n regexFragment: \"Wash\\\\.?\\\\s+Rev\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|RCW\",\n },\n // ── North Carolina ─────────────────────────────────────────────────────────\n {\n jurisdiction: \"NC\",\n abbreviations: [\"N.C. Gen. Stat. Ann.\", \"N.C. Gen. Stat.\", \"N.C.G.S.\", \"NCGS\", \"G.S.\", \"GS\"],\n regexFragment:\n \"N\\\\.?C\\\\.?\\\\s*Gen\\\\.?\\\\s*Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|N\\\\.?C\\\\.?G\\\\.?S\\\\.?|G\\\\.?S\\\\.?\",\n },\n // ── Georgia ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"GA\",\n abbreviations: [\"Ga. Code Ann.\", \"Ga. Code\", \"O.C.G.A.\", \"OCGA\"],\n regexFragment: \"Ga\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|O\\\\.?C\\\\.?G\\\\.?A\\\\.?\",\n },\n // ── Pennsylvania (consolidated) ────────────────────────────────────────────\n // Inter-letter spacing tolerance — `Pa. C. S.` (with spaces) is a\n // common Pennsylvania court-published style. Canonical is `Pa.C.S.`\n // (Bluebook); ordered last so spaced variants normalize to it. #392\n {\n jurisdiction: \"PA\",\n abbreviations: [\"Pa. Cons. Stat.\", \"Pa. C.S.A.\", \"Pa. C.S.\", \"Pa.C.S.A.\", \"Pa.C.S.\"],\n regexFragment: \"Pa\\\\.?\\\\s*C\\\\.?\\\\s*S\\\\.?\\\\s*A?\\\\.?|Pa\\\\.?\\\\s+Cons\\\\.?\\\\s+Stat\\\\.?\",\n },\n // ── Pennsylvania (unconsolidated) ──────────────────────────────────────────\n // Inter-letter spacing tolerance — `P. S.` (with space) is a common\n // Pennsylvania court-published style. Canonical is `P.S.` (Bluebook);\n // ordered last so spaced/dotless variants normalize to it. #392\n {\n jurisdiction: \"PA\",\n abbreviations: [\"PS\", \"P.S.\"],\n regexFragment: \"P\\\\.?\\\\s*S\\\\.?\",\n },\n // ── Indiana ────────────────────────────────────────────────────────────────\n // The bare dotted `I.C.` form is reserved for Idaho (#360) — Indiana\n // opinions use either the spelled-out `Ind. Code` / `Indiana Code` or the\n // dotless `IC` shorthand. Restricting Indiana to the dotless `IC` lets\n // Idaho own `I.C.` / `I. C.` without losing Indiana coverage.\n // `IND. CODE` (uppercase) is also accepted — Indiana case captions and\n // some treatises use the all-caps form (#363).\n {\n jurisdiction: \"IN\",\n abbreviations: [\n \"Burns Ind. Code Ann.\",\n \"Burns Ind. Code\",\n \"Indiana Code Ann.\",\n \"Indiana Code\",\n \"Ind. Code Ann.\",\n \"Ind. Code\",\n \"IC\",\n ],\n regexFragment:\n \"Burns\\\\s+Ind\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|Ind(?:iana)?\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|IND\\\\.?\\\\s+CODE|IC\",\n },\n // Pre-1976 Burns Indiana Statutes Annotated — modern Indiana opinions\n // still cite this when referencing pre-1976 statutory text (#363).\n // Examples: `Burns Ind. Stat. Ann., § 10-3401 (1956 Repl.)`,\n // `Ind. Stat. Ann. § 28-1710 (Burns 1971)`, `Burns' Indiana Statutes\n // Annotated § 48-702`, `Ind. Ann. Stat. § 10-4709`.\n {\n jurisdiction: \"IN\",\n abbreviations: [\n \"Burns Indiana Statutes Annotated\",\n \"Burns Ind. Stat. Ann.\",\n \"Ind. Stat. Ann.\",\n \"Ind. Ann. Stat.\",\n ],\n regexFragment:\n \"Burns(?:'s|')?\\\\s+Ind(?:iana)?\\\\.?\\\\s+Stat(?:utes)?\\\\.?(?:\\\\s+Ann(?:otated)?\\\\.?)?|Ind(?:iana)?\\\\.?\\\\s+Stat\\\\.?\\\\s+Ann\\\\.?|Ind(?:iana)?\\\\.?\\\\s+Ann\\\\.?\\\\s+Stat\\\\.?\",\n },\n // ── New Jersey ─────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NJ\",\n abbreviations: [\"N.J.S.A.\", \"NJSA\", \"N.J.S.\", \"NJS\"],\n regexFragment: \"N\\\\.?J\\\\.?\\\\s*S(?:tat)?\\\\.?\\\\s*A?\\\\.?\",\n },\n // ── Delaware ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"DE\",\n abbreviations: [\"Del. Code Ann.\", \"Del. Code\", \"Del. C.\", \"Del C\"],\n regexFragment: \"Del\\\\.?\\\\s*(?:Code(?:\\\\s+Ann\\\\.?)?|C\\\\.?)\",\n },\n // ── Alaska ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"AK\",\n abbreviations: [\"Alaska Stat. Ann.\", \"Alaska Stat.\", \"AS\"],\n regexFragment: \"Alaska\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|A\\\\.?S\\\\.?\",\n },\n // ── Arizona ───────────────────────────────────────────────────────────────\n // A.R.S. fragment admits inter-letter spaces (`A. R.S.`, OCR `AR.S.`) and\n // no-dots (`ARS`) — see #348. The extractor normalizes all variants to the\n // canonical `A.R.S.` via the stripped-form fallback in `findAbbreviatedCode`.\n {\n jurisdiction: \"AZ\",\n abbreviations: [\"Ariz. Rev. Stat. Ann.\", \"Ariz. Rev. Stat.\", \"A.R.S.\"],\n regexFragment: \"Ariz\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|A\\\\.?\\\\s*R\\\\.?\\\\s*S\\\\.?\",\n },\n // ── Arkansas ──────────────────────────────────────────────────────────────\n // Modern Arkansas Code Annotated (post-1987). Fragment accepts both the\n // abbreviated `Ann.` form and the spelled-out `Annotated` form (#349).\n {\n jurisdiction: \"AR\",\n abbreviations: [\n \"Arkansas Code Annotated\",\n \"Ark. Code Ann.\",\n \"Arkansas Code\",\n \"A.C.A.\",\n ],\n regexFragment:\n \"Ark(?:ansas)?\\\\.?\\\\s+Code(?:\\\\s+Ann(?:otated)?\\\\.?)?|A\\\\.?C\\\\.?A\\\\.?\",\n },\n // Pre-1987 Arkansas Statutes Annotated. Modern Arkansas opinions still cite\n // this when referencing pre-1987 statutory text (#349).\n {\n jurisdiction: \"AR\",\n abbreviations: [\"Arkansas Statutes Annotated\", \"Ark. Stat. Ann.\", \"Ark. Stat.\"],\n regexFragment:\n \"Ark(?:ansas)?\\\\.?\\\\s+Stat(?:utes)?\\\\.?(?:\\\\s+Ann(?:otated)?\\\\.?)?\",\n },\n // ── Connecticut ───────────────────────────────────────────────────────────\n {\n jurisdiction: \"CT\",\n abbreviations: [\"Conn. Gen. Stat. Ann.\", \"Conn. Gen. Stat.\", \"C.G.S.\"],\n regexFragment: \"Conn\\\\.?\\\\s+Gen\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|C\\\\.?G\\\\.?S\\\\.?\",\n },\n // ── District of Columbia ──────────────────────────────────────────────────\n {\n jurisdiction: \"DC\",\n abbreviations: [\"D.C. Official Code\", \"D.C. Code Ann.\", \"D.C. Code\"],\n regexFragment: \"D\\\\.?C\\\\.?\\\\s+(?:Official\\\\s+)?Code(?:\\\\s+Ann\\\\.?)?\",\n },\n // ── Hawaii ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"HI\",\n abbreviations: [\"Haw. Rev. Stat. Ann.\", \"Haw. Rev. Stat.\", \"HRS\"],\n regexFragment: \"Haw\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|HRS\",\n },\n // ── Iowa ──────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"IA\",\n abbreviations: [\"Iowa Code Ann.\", \"Iowa Code\", \"I.C.A.\"],\n regexFragment: \"Iowa\\\\s+Code(?:\\\\s+Ann\\\\.?)?|I\\\\.?C\\\\.?A\\\\.?\",\n },\n // ── Idaho ─────────────────────────────────────────────────────────────────\n // Idaho fragment admits the dotted `I.C.` abbreviation plus inter-letter\n // spacing variants (`I. C.`, OCR `I. C.`) and the no-dots form (`IC` is\n // owned by Indiana via array order). The extractor normalizes all variants\n // to the canonical `Idaho Code` via the stripped-form fallback in\n // `findAbbreviatedCode`. #360\n {\n jurisdiction: \"ID\",\n abbreviations: [\"Idaho Code Ann.\", \"Idaho Code\", \"I.C.\"],\n regexFragment: \"Idaho\\\\s+Code(?:\\\\s+Ann\\\\.?)?|I\\\\.?\\\\s*C\\\\.?\",\n },\n // ── Kansas ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"KS\",\n abbreviations: [\"Kan. Stat. Ann.\", \"K.S.A.\"],\n regexFragment: \"Kan\\\\.?\\\\s+Stat\\\\.?\\\\s+Ann\\\\.?|K\\\\.?S\\\\.?A\\\\.?\",\n },\n // ── Kentucky ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"KY\",\n abbreviations: [\"Ky. Rev. Stat. Ann.\", \"Ky. Rev. Stat.\", \"KRS\"],\n regexFragment: \"Ky\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|KRS\",\n },\n // ── Louisiana ─────────────────────────────────────────────────────────────\n // Louisiana — relaxed `La.R.S.` (no space between `La.` and `R.S.`)\n // is a common LA court style. Canonical is `La. R.S.` (Bluebook);\n // ordered last so the no-space variant normalizes to it. #415\n {\n jurisdiction: \"LA\",\n abbreviations: [\"La. Rev. Stat. Ann.\", \"LSA-R.S.\", \"La. R.S.\"],\n regexFragment:\n \"La\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|La\\\\.?\\\\s*R\\\\.?S\\\\.?|LSA-R\\\\.?S\\\\.?\",\n },\n // ── Maine ─────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"ME\",\n abbreviations: [\"Me. Rev. Stat. Ann.\", \"Me. Rev. Stat.\", \"M.R.S.A.\", \"M.R.S.\"],\n regexFragment: \"Me\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|M\\\\.?R\\\\.?S\\\\.?A?\\\\.?\",\n },\n // ── Minnesota ─────────────────────────────────────────────────────────────\n // The dotted `M.S.A.` form (literal dots required) routes to Minnesota\n // Statutes Annotated; the dotless `MSA` belongs to Michigan (Mich. Stat.\n // Ann.) via array order — see Michigan entry above. #370\n // The short form `Minn. St.` (without the `at`) is the canonical Minnesota\n // court style — distinct from the federal Bluebook's `Minn. Stat.` (#371).\n // `Minnesota Statutes` (spelled out) is the official short title used in\n // postfix prose forms.\n {\n jurisdiction: \"MN\",\n abbreviations: [\"Minnesota Statutes\", \"Minn. Stat. Ann.\", \"Minn. Stat.\", \"Minn. St.\", \"M.S.A.\"],\n regexFragment:\n \"Minnesota\\\\s+Statutes(?:\\\\s+Ann(?:otated)?\\\\.?)?|Minn\\\\.?\\\\s+(?:Stat|St)\\\\.?(?:\\\\s+Ann\\\\.?)?|M\\\\.S\\\\.A\\\\.\",\n },\n // ── Mississippi ───────────────────────────────────────────────────────────\n {\n jurisdiction: \"MS\",\n abbreviations: [\"Miss. Code Ann.\", \"Mississippi Code\", \"MS Code\"],\n regexFragment: \"Miss(?:issippi)?\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|MS\\\\s+Code\",\n },\n // ── Missouri ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"MO\",\n abbreviations: [\"Mo. Ann. Stat.\", \"Mo. Rev. Stat.\", \"V.A.M.S.\", \"RSMo\"],\n regexFragment: \"Mo\\\\.?\\\\s+(?:Ann\\\\.?\\\\s+|Rev\\\\.?\\\\s+)Stat\\\\.?|V\\\\.?A\\\\.?M\\\\.?S\\\\.?|RSMo\",\n },\n // ── Montana ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"MT\",\n abbreviations: [\"Mont. Code Ann.\", \"MCA\"],\n regexFragment: \"Mont\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|MCA\",\n },\n // ── North Dakota ──────────────────────────────────────────────────────────\n {\n jurisdiction: \"ND\",\n abbreviations: [\"N.D. Cent. Code\", \"N.D.C.C.\"],\n regexFragment: \"N\\\\.?D\\\\.?\\\\s+Cent\\\\.?\\\\s+Code|N\\\\.?D\\\\.?C\\\\.?C\\\\.?\",\n },\n // ── Nebraska ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NE\",\n abbreviations: [\"Neb. Rev. Stat.\", \"R.R.S. Neb.\", \"R.R.S.\"],\n regexFragment: \"Neb\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?|R\\\\.?R\\\\.?S\\\\.?(?:\\\\s+Neb\\\\.?)?\",\n },\n // ── New Hampshire ─────────────────────────────────────────────────────────\n {\n jurisdiction: \"NH\",\n abbreviations: [\"N.H. Rev. Stat. Ann.\", \"N.H. RSA\", \"RSA\"],\n regexFragment: \"N\\\\.?H\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|N\\\\.?H\\\\.?\\\\s+RSA|RSA\",\n },\n // ── New Mexico ────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NM\",\n abbreviations: [\"N.M. Stat. Ann.\", \"NMSA 1978\", \"NMSA\"],\n regexFragment: \"N\\\\.?M\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|NMSA(?:\\\\s+1978)?\",\n },\n // ── Nevada ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"NV\",\n abbreviations: [\"Nev. Rev. Stat. Ann.\", \"Nev. Rev. Stat.\", \"NRS\"],\n regexFragment: \"Nev\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|NRS\",\n },\n // ── Oklahoma ──────────────────────────────────────────────────────────────\n {\n jurisdiction: \"OK\",\n abbreviations: [\"Okla. Stat. Ann.\", \"Okla. Stat.\", \"O.S.\"],\n regexFragment: \"Okla\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|O\\\\.?S\\\\.?\",\n },\n // ── Oregon ────────────────────────────────────────────────────────────────\n {\n jurisdiction: \"OR\",\n abbreviations: [\"Or. Rev. Stat. Ann.\", \"Or. Rev. Stat.\", \"ORS\"],\n regexFragment: \"Or\\\\.?\\\\s+Rev\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|ORS\",\n },\n // ── Rhode Island ──────────────────────────────────────────────────────────\n {\n jurisdiction: \"RI\",\n abbreviations: [\"R.I. Gen. Laws\", \"R.I.G.L.\"],\n regexFragment: \"R\\\\.?I\\\\.?\\\\s+Gen\\\\.?\\\\s+Laws|R\\\\.?I\\\\.?G\\\\.?L\\\\.?\",\n },\n // ── South Carolina ────────────────────────────────────────────────────────\n // South Carolina — `S.C.Code Ann.` (no space) is a common style in\n // South Carolina court opinions; the `\\s+` was too strict and silently\n // routed every no-space form to the NM bare-section pattern via its\n // contained-span match on `§ N-N-N`. Accepting `\\s*` (zero or more\n // spaces) here keeps the SC container match intact, which then\n // subsumes the NM bare-section via span dedup. Canonical is `S.C. Code\n // Ann.` (Bluebook); ordered last so spaced/no-space variants normalize\n // to it. #397\n {\n jurisdiction: \"SC\",\n abbreviations: [\"S.C. Code\", \"S.C. Code Ann.\"],\n regexFragment: \"S\\\\.?C\\\\.?\\\\s*Code(?:\\\\s+Ann\\\\.?)?\",\n },\n // ── South Dakota ──────────────────────────────────────────────────────────\n {\n jurisdiction: \"SD\",\n abbreviations: [\"S.D. Codified Laws\", \"S.D.C.L.\", \"SDCL\"],\n regexFragment: \"S\\\\.?D\\\\.?\\\\s+Codified\\\\s+Laws|S\\\\.?D\\\\.?C\\\\.?L\\\\.?|SDCL\",\n },\n // ── Tennessee ─────────────────────────────────────────────────────────────\n // Canonical abbreviation is `T.C.A.` (Bluebook); ordered last so the\n // stripped-form fallback normalizes `TCA` (no dots) and spaced variants\n // to it. #398\n {\n jurisdiction: \"TN\",\n abbreviations: [\"Tenn. Code Ann.\", \"Tennessee Code\", \"TN Code\", \"T.C.A.\"],\n regexFragment: \"Tenn(?:essee)?\\\\.?\\\\s+Code(?:\\\\s+Ann\\\\.?)?|T\\\\.?C\\\\.?A\\\\.?|TN\\\\s+Code\",\n },\n // ── Vermont ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"VT\",\n abbreviations: [\"Vt. Stat. Ann.\", \"V.S.A.\"],\n regexFragment: \"Vt\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|V\\\\.?S\\\\.?A\\\\.?\",\n },\n // ── Wisconsin ─────────────────────────────────────────────────────────────\n {\n jurisdiction: \"WI\",\n abbreviations: [\"Wis. Stat. Ann.\", \"Wis. Stat.\", \"W.S.A.\"],\n regexFragment: \"Wis\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|W\\\\.?S\\\\.?A\\\\.?\",\n },\n // ── West Virginia ─────────────────────────────────────────────────────────\n // West Virginia — `W.Va.Code` (no space) is a common form in WV court\n // opinions. Relaxing `\\s+` to `\\s*` between `W.Va.` and `Code` prevents\n // the NM bare-section pattern (#382) from silently capturing the\n // `§ N-N-N` suffix when the no-space form is used. Canonical is\n // `W. Va. Code Ann.` (Bluebook); ordered last so all variants\n // normalize to it. #406\n {\n jurisdiction: \"WV\",\n abbreviations: [\"W. Va. Code\", \"WV Code\", \"W. Va. Code Ann.\"],\n regexFragment: \"W\\\\.?\\\\s*Va\\\\.?\\\\s*Code(?:\\\\s+Ann\\\\.?)?|WV\\\\s+Code\",\n },\n // ── Wyoming ───────────────────────────────────────────────────────────────\n {\n jurisdiction: \"WY\",\n abbreviations: [\"Wyo. Stat. Ann.\", \"Wyo. Stat.\", \"W.S.\"],\n regexFragment: \"Wyo\\\\.?\\\\s+Stat\\\\.?(?:\\\\s+Ann\\\\.?)?|W\\\\.?S\\\\.?\",\n },\n]\n","/**\n * Known statutory code registry for abbreviated-code jurisdictions\n *\n * Provides a registry of state statutory codes that use abbreviated\n * citation forms (e.g., \"R.C. § 1.01\", \"MCL 750.83\"). Used by the\n * citation extractor to identify and normalize state statute citations.\n */\n\nimport { stateStatuteEntries } from \"./stateStatutes\"\n\n/**\n * A single entry in the known codes registry.\n *\n * PA has two entries (Pa.C.S. and P.S.) because it has two distinct\n * code families with separate abbreviation sets.\n */\nexport interface CodeEntry {\n /** Two-letter state abbreviation (e.g., \"OH\", \"MI\") */\n jurisdiction: string\n /** Short canonical abbreviation used internally (e.g., \"RC\", \"MCL\") */\n abbreviation: string\n /** All recognized text patterns that identify this code */\n patterns: string[]\n /** Citation family — determines which citation pattern family this belongs to */\n family: \"federal\" | \"named\" | \"abbreviated\" | \"chapterAct\" | \"prose\"\n}\n\n/**\n * Registry of state statutory codes that use abbreviated citation forms.\n * Derived from stateStatuteEntries — the single source of truth.\n *\n * Note: Short 2-letter patterns (AS, GS, IC, OS, PS, RC, FS, WS) may produce\n * false positives in non-legal text. The extraction layer mitigates this via\n * confidence scoring — citations without a § symbol receive lower confidence\n * (0.85 vs 0.95). Consumers should filter by confidence threshold.\n */\nexport const abbreviatedCodes: CodeEntry[] = stateStatuteEntries.map((entry) => ({\n jurisdiction: entry.jurisdiction,\n abbreviation: entry.abbreviations[entry.abbreviations.length - 1],\n family: \"abbreviated\" as const,\n patterns: entry.abbreviations,\n}))\n\n/**\n * Registry of state statutory codes that use named-code citation forms.\n *\n * Named-code jurisdictions identify their code by name in citations (e.g.,\n * \"N.Y. Penal Law § 120.05\", \"Cal. Civ. Proc. Code § 437c\"), rather than by\n * a standalone abbreviation. The jurisdiction prefix is handled by the\n * extraction layer; these patterns cover only the code name portion.\n *\n * Ordering note: within each jurisdiction, more specific patterns must come\n * before more general ones (e.g., \"Civ. Proc.\" before \"Civ.\") so that\n * findNamedCode's longest-match wins correctly.\n *\n * Covers 7 jurisdictions: NY (21 entries), CA (29 entries), TX (29 entries),\n * MD (36 entries), VA (1 entry), AL (1 entry), MA (1 entry).\n */\nexport const namedCodes: CodeEntry[] = [\n // ── New York (21 entries) ──────────────────────────────────────────────────\n {\n jurisdiction: \"NY\",\n abbreviation: \"CPLR\",\n family: \"named\",\n patterns: [\"C.P.L.R.\", \"CPLR\", \"Civ. Prac. L. & R.\", \"Civil Practice Law & Rules\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"CPL\",\n family: \"named\",\n patterns: [\"Crim. Proc.\", \"Criminal Procedure\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"GBS\",\n family: \"named\",\n patterns: [\"Gen. Bus.\", \"General Business\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"GOB\",\n family: \"named\",\n patterns: [\"Gen. Oblig.\", \"General Obligations\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"PEN\",\n family: \"named\",\n patterns: [\"Penal\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"ISC\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"LAB\",\n family: \"named\",\n patterns: [\"Lab.\", \"Labor\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"RPL\",\n family: \"named\",\n patterns: [\"Real Prop.\", \"Real Property\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"EXC\",\n family: \"named\",\n patterns: [\"Exec.\", \"Executive\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"JUD\",\n family: \"named\",\n patterns: [\"Jud.\", \"Judiciary\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"SCP\",\n family: \"named\",\n patterns: [\"Surr. Ct. Proc.\", \"Surrogate's Court Procedure\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"CVR\",\n family: \"named\",\n patterns: [\"Civ. Rights\", \"Civil Rights\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"CVP\",\n family: \"named\",\n patterns: [\"Civ. Prac.\", \"Civil Practice\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"EDN\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"TAX\",\n family: \"named\",\n patterns: [\"Tax\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"PBH\",\n family: \"named\",\n patterns: [\"Pub. Health\", \"Public Health\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"SOS\",\n family: \"named\",\n patterns: [\"Soc. Serv.\", \"Social Services\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"ELN\",\n family: \"named\",\n patterns: [\"Elec.\", \"Election\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"ENV\",\n family: \"named\",\n patterns: [\"Env. Conserv.\", \"Environmental Conservation\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"BNK\",\n family: \"named\",\n patterns: [\"Bank.\", \"Banking\"],\n },\n {\n jurisdiction: \"NY\",\n abbreviation: \"DRL\",\n family: \"named\",\n patterns: [\"Dom. Rel.\", \"Domestic Relations\"],\n },\n\n // ── California (29 entries) ────────────────────────────────────────────────\n // CRITICAL: more specific patterns must come before general ones\n // (e.g., CCP \"Civ. Proc.\" before CIV \"Civ.\")\n {\n jurisdiction: \"CA\",\n abbreviation: \"CCP\",\n family: \"named\",\n patterns: [\"Civ. Proc.\", \"Civil Procedure\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"BPC\",\n family: \"named\",\n patterns: [\"Bus. & Prof.\", \"Business & Professions\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"HSC\",\n family: \"named\",\n patterns: [\"Health & Saf.\", \"Health & Safety\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"RTC\",\n family: \"named\",\n patterns: [\"Rev. & Tax.\", \"Revenue & Taxation\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FGC\",\n family: \"named\",\n patterns: [\"Fish & Game\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FAC\",\n family: \"named\",\n patterns: [\"Food & Agric.\", \"Food & Agricultural\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"HNC\",\n family: \"named\",\n patterns: [\"Harb. & Nav.\", \"Harbors & Navigation\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"MVC\",\n family: \"named\",\n patterns: [\"Mil. & Vet.\", \"Military & Veterans\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PCC\",\n family: \"named\",\n patterns: [\"Pub. Cont.\", \"Public Contract\", \"Public Contracts\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PRC\",\n family: \"named\",\n patterns: [\"Pub. Res.\", \"Public Resources\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PUC\",\n family: \"named\",\n patterns: [\"Pub. Util.\", \"Public Utilities\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"SHC\",\n family: \"named\",\n patterns: [\"Sts. & High.\", \"Streets & Highways\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"UIC\",\n family: \"named\",\n patterns: [\"Unemp. Ins.\", \"Unemployment Insurance\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"WIC\",\n family: \"named\",\n patterns: [\"Welf. & Inst.\", \"Welfare & Institutions\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"CIV\",\n family: \"named\",\n patterns: [\"Civ.\", \"Civil\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"COM\",\n family: \"named\",\n patterns: [\"Com.\", \"Commercial\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"CORP\",\n family: \"named\",\n patterns: [\"Corp.\", \"Corporations\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"EDC\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"ELEC\",\n family: \"named\",\n patterns: [\"Elec.\", \"Elections\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"EVID\",\n family: \"named\",\n patterns: [\"Evid.\", \"Evidence\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FAM\",\n family: \"named\",\n patterns: [\"Fam.\", \"Family\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"FIN\",\n family: \"named\",\n patterns: [\"Fin.\", \"Financial\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"GOV\",\n family: \"named\",\n patterns: [\"Gov.\", \"Government\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"INS\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"LAB\",\n family: \"named\",\n patterns: [\"Lab.\", \"Labor\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PEN\",\n family: \"named\",\n patterns: [\"Penal\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"PROB\",\n family: \"named\",\n patterns: [\"Prob.\", \"Probate\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"VEH\",\n family: \"named\",\n patterns: [\"Veh.\", \"Vehicle\"],\n },\n {\n jurisdiction: \"CA\",\n abbreviation: \"WAT\",\n family: \"named\",\n patterns: [\"Wat.\", \"Water\"],\n },\n\n // ── Texas (30 entries) ────────────────────────────────────────────────────\n {\n jurisdiction: \"TX\",\n abbreviation: \"CP\",\n family: \"named\",\n patterns: [\"Civ. Prac. & Rem.\", \"Civil Practice & Remedies\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"CR\",\n family: \"named\",\n patterns: [\"Crim. Proc.\", \"Code of Criminal Procedure\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"BC\",\n family: \"named\",\n patterns: [\"Bus. & Com.\", \"Business & Commerce\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"BO\",\n family: \"named\",\n patterns: [\"Bus. Org.\", \"Business Organizations\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"HS\",\n family: \"named\",\n patterns: [\"Health & Saf.\", \"Health & Safety\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"HR\",\n family: \"named\",\n patterns: [\"Human Res.\", \"Human Resources\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"LG\",\n family: \"named\",\n patterns: [\"Local Gov.\", \"Local Government\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"NR\",\n family: \"named\",\n patterns: [\"Nat. Res.\", \"Natural Resources\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PW\",\n family: \"named\",\n patterns: [\"Parks & Wild.\", \"Parks & Wildlife\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"SD\",\n family: \"named\",\n patterns: [\"Spec. Dist.\", \"Special District\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"AL\",\n family: \"named\",\n patterns: [\"Alco. Bev.\", \"Alcoholic Beverage\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"WL\",\n family: \"named\",\n patterns: [\"Water\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"CV\",\n family: \"named\",\n patterns: [\"Vernon's Civ. Stat.\", \"Vernon's Civil Statutes\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"GV\",\n family: \"named\",\n patterns: [\"Gov't\", \"Government\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"AG\",\n family: \"named\",\n patterns: [\"Agric.\", \"Agriculture\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"ED\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"EL\",\n family: \"named\",\n patterns: [\"Elec.\", \"Election\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"ES\",\n family: \"named\",\n patterns: [\"Est.\", \"Estates\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"FA\",\n family: \"named\",\n patterns: [\"Fam.\", \"Family\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"FI\",\n family: \"named\",\n patterns: [\"Fin.\", \"Finance\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"IN\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"LA\",\n family: \"named\",\n patterns: [\"Lab.\", \"Labor\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"OC\",\n family: \"named\",\n patterns: [\"Occup.\", \"Occupations\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PE\",\n family: \"named\",\n patterns: [\"Penal\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PB\",\n family: \"named\",\n patterns: [\"Prob.\", \"Probate\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"PR\",\n family: \"named\",\n patterns: [\"Prop.\", \"Property\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"TX\",\n family: \"named\",\n patterns: [\"Tax\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"TN\",\n family: \"named\",\n patterns: [\"Transp.\", \"Transportation\"],\n },\n {\n jurisdiction: \"TX\",\n abbreviation: \"UT\",\n family: \"named\",\n patterns: [\"Util.\", \"Utilities\"],\n },\n\n // ── Maryland (36 entries) ─────────────────────────────────────────────────\n {\n jurisdiction: \"MD\",\n abbreviation: \"gag\",\n family: \"named\",\n patterns: [\"Agric.\", \"Agriculture\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gab\",\n family: \"named\",\n patterns: [\"Alc. Bev.\", \"Alcoholic Beverages and Cannabis\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gbo\",\n family: \"named\",\n patterns: [\"Bus. Occ. & Prof.\", \"Business Occupations and Professions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gbr\",\n family: \"named\",\n patterns: [\"Bus. Reg.\", \"Business Regulation\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcl\",\n family: \"named\",\n patterns: [\"Com. Law\", \"Commercial Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gca\",\n family: \"named\",\n patterns: [\"Corps. & Ass'ns\", \"Corporations and Associations\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcs\",\n family: \"named\",\n patterns: [\"Corr. Servs.\", \"Correctional Services\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcj\",\n family: \"named\",\n patterns: [\"Cts. & Jud. Proc.\", \"Courts and Judicial Proceedings\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcr\",\n family: \"named\",\n patterns: [\"Crim. Law\", \"Criminal Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gcp\",\n family: \"named\",\n patterns: [\"Crim. Proc.\", \"Criminal Procedure\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gec\",\n family: \"named\",\n patterns: [\"Econ. Dev.\", \"Economic Development\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ged\",\n family: \"named\",\n patterns: [\"Educ.\", \"Education\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gel\",\n family: \"named\",\n patterns: [\"Elec. Law\", \"Election Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gen\",\n family: \"named\",\n patterns: [\"Envir.\", \"Environment\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"get\",\n family: \"named\",\n patterns: [\"Est. & Trusts\", \"Estates and Trusts\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gfl\",\n family: \"named\",\n patterns: [\"Fam. Law\", \"Family Law\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gfi\",\n family: \"named\",\n patterns: [\"Fin. Inst.\", \"Financial Institutions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ggp\",\n family: \"named\",\n patterns: [\"Gen. Prov.\", \"General Provisions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ghg\",\n family: \"named\",\n patterns: [\"Health-Gen.\", \"Health - General\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gho\",\n family: \"named\",\n patterns: [\"Health Occ.\", \"Health Occupations\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ghs\",\n family: \"named\",\n patterns: [\"Hous. & Cmty. Dev.\", \"Housing and Community Development\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"ghu\",\n family: \"named\",\n patterns: [\"Hum. Servs.\", \"Human Services\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gin\",\n family: \"named\",\n patterns: [\"Ins.\", \"Insurance\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gle\",\n family: \"named\",\n patterns: [\"Lab. & Empl.\", \"Labor and Employment\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"glu\",\n family: \"named\",\n patterns: [\"Land Use\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"glg\",\n family: \"named\",\n patterns: [\"Local Gov't\", \"Local Government\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gnr\",\n family: \"named\",\n patterns: [\"Nat. Res.\", \"Natural Resources\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gps\",\n family: \"named\",\n patterns: [\"Pub. Safety\", \"Public Safety\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gpu\",\n family: \"named\",\n patterns: [\"PUC\", \"Public Utilities\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"grp\",\n family: \"named\",\n patterns: [\"Real Prop.\", \"Real Property\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gsf\",\n family: \"named\",\n patterns: [\"State Fin. & Proc.\", \"State Finance and Procurement\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gsg\",\n family: \"named\",\n patterns: [\"State Gov't\", \"State Government\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gsp\",\n family: \"named\",\n patterns: [\"State Pers. & Pens.\", \"State Personnel and Pensions\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gtg\",\n family: \"named\",\n patterns: [\"Tax-Gen.\", \"Tax - General\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gtp\",\n family: \"named\",\n patterns: [\"Tax-Prop.\", \"Tax - Property\"],\n },\n {\n jurisdiction: \"MD\",\n abbreviation: \"gtr\",\n family: \"named\",\n patterns: [\"Transp.\", \"Transportation\"],\n },\n\n // ── Virginia (1 entry) ────────────────────────────────────────────────────\n {\n jurisdiction: \"VA\",\n abbreviation: \"CODE\",\n family: \"named\",\n patterns: [\"Code\", \"Code Ann.\"],\n },\n\n // ── Alabama (1 entry) ─────────────────────────────────────────────────────\n {\n jurisdiction: \"AL\",\n abbreviation: \"CODE\",\n family: \"named\",\n patterns: [\"Code\", \"Code Ann.\"],\n },\n\n // ── Massachusetts (1 entry) ───────────────────────────────────────────────\n {\n jurisdiction: \"MA\",\n abbreviation: \"GL\",\n family: \"named\",\n patterns: [\"Gen. Laws\", \"General Laws\"],\n },\n]\n\n/**\n * Find a CodeEntry by jurisdiction and code name token.\n *\n * Lookup strategy: for each candidate entry in the given jurisdiction,\n * check whether the normalized codeName matches or starts with any of the\n * entry's patterns (case-insensitive). Returns the entry with the longest\n * matching pattern to prefer more specific codes over general ones\n * (e.g., \"Civ. Proc.\" over \"Civ.\").\n *\n * @param jurisdiction - Two-letter state abbreviation (e.g., \"CA\", \"NY\")\n * @param codeName - The code name token to look up (e.g., \"Penal\", \"Civ. Proc.\")\n * @returns Matching CodeEntry, or undefined if not found\n *\n * @example\n * findNamedCode('NY', 'Penal') // → NY PEN entry\n * findNamedCode('CA', 'Civ. Proc.') // → CA CCP entry (not CA CIV)\n * findNamedCode('MD', 'Crim. Law') // → MD gcr entry\n * findNamedCode('NY', 'Unknown') // → undefined\n */\nexport function findNamedCode(jurisdiction: string, codeName: string): CodeEntry | undefined {\n const normalized = codeName.replace(/\\s+/g, \" \").trim().toLowerCase()\n const candidates = _byJurisdiction.get(jurisdiction)\n if (!candidates) return undefined\n\n let bestMatch: CodeEntry | undefined\n let bestLen = 0\n\n for (const { entry, lower } of candidates) {\n if (normalized === lower || normalized.startsWith(lower)) {\n if (lower.length > bestLen) {\n bestMatch = entry\n bestLen = lower.length\n }\n }\n }\n return bestMatch\n}\n\n/**\n * Pre-built index: jurisdiction → array of { entry, lower } for O(1) jurisdiction lookup.\n * Patterns are pre-lowercased to avoid per-call allocations.\n */\nconst _byJurisdiction = new Map<string, Array<{ entry: CodeEntry; lower: string }>>()\nfor (const entry of namedCodes) {\n let arr = _byJurisdiction.get(entry.jurisdiction)\n if (!arr) {\n arr = []\n _byJurisdiction.set(entry.jurisdiction, arr)\n }\n for (const pattern of entry.patterns) {\n arr.push({ entry, lower: pattern.toLowerCase() })\n }\n}\n\n/**\n * Build a case-insensitive lookup index from pattern → CodeEntry.\n * Exact match first; prefix fallback is handled in findAbbreviatedCode.\n */\nconst _byPattern = new Map<string, CodeEntry>()\nfor (const entry of abbreviatedCodes) {\n for (const pattern of entry.patterns) {\n _byPattern.set(pattern.toLowerCase(), entry)\n }\n}\n\n/**\n * Stripped-form index — pattern with all dots, whitespace, and apostrophes\n * removed. Used by `findAbbreviatedCode` to resolve OCR/spacing variants\n * like `AR.S.`, `ARS`, `A. R.S.` to the canonical `A.R.S.` entry (#348),\n * and to normalize possessive forms like `Burns'` (#363).\n */\nconst _byStrippedPattern = new Map<string, CodeEntry>()\nfor (const entry of abbreviatedCodes) {\n for (const pattern of entry.patterns) {\n const stripped = pattern.toLowerCase().replace(/[.\\s']/g, \"\")\n if (stripped.length === 0) continue\n // Last-write-wins; abbreviated arrays are ordered longest-first within an\n // entry, so the SHORTEST (canonical) form for a given stripped key wins.\n _byStrippedPattern.set(stripped, entry)\n }\n}\n\n/**\n * Find a CodeEntry by an abbreviated text token.\n *\n * Lookup order:\n * 1. Exact case-insensitive match against all patterns\n * 2. Prefix match — returns the entry whose pattern is the longest\n * prefix of `abbrevText` (handles tokens like \"RCW\" inside longer text)\n *\n * @param abbrevText - The abbreviation token to look up\n * @returns Matching CodeEntry, or undefined if not found\n *\n * @example\n * findAbbreviatedCode('R.C.') // → OH entry\n * findAbbreviatedCode('MCL') // → MI entry\n * findAbbreviatedCode('UNKNOWN') // → undefined\n */\nexport function findAbbreviatedCode(abbrevText: string): CodeEntry | undefined {\n const lower = abbrevText.toLowerCase()\n\n // 1. Exact match\n const exact = _byPattern.get(lower)\n if (exact) return exact\n\n // 2. Stripped-form match — OCR variants like `AR.S.`, `ARS`, `A. R.S.`\n // all collapse to `ars` and resolve to the canonical `A.R.S.` entry\n // (#348). Also strips apostrophes so `Burns' Indiana Statutes Annotated`\n // matches the entry's `Burns Indiana Statutes Annotated` form (#363).\n const stripped = lower.replace(/[.\\s']/g, \"\")\n if (stripped.length > 0) {\n const strippedHit = _byStrippedPattern.get(stripped)\n if (strippedHit) return strippedHit\n }\n\n // 3. Prefix fallback — find the longest pattern that is a prefix of abbrevText\n let bestMatch: CodeEntry | undefined\n let bestLen = 0\n for (const [pattern, entry] of _byPattern) {\n if (lower.startsWith(pattern) && pattern.length > bestLen) {\n bestMatch = entry\n bestLen = pattern.length\n }\n }\n return bestMatch\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eyecite-ts",
3
- "version": "0.15.6",
3
+ "version": "0.15.8",
4
4
  "description": "TypeScript port of eyecite - extract, resolve, and annotate legal citations",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,2 +0,0 @@
1
- let e=null;function t(){return e}function n(t){e=t}function r(e){return e.replace(/[\\^$*+?{}[\]|()]/g,`\\$&`).replace(/\.(?=[A-Za-z])/g,`\\.?\\s*`).replace(/\.\s+/g,`\\.?\\s+`).replace(/\.$/g,`\\.?`).replace(/ +/g,`\\s+`)}function i(){let e=[];for(let t of a)if(t.regexFragment)e.push(t.regexFragment);else for(let n of t.abbreviations)e.push(r(n));e.sort((e,t)=>t.length-e.length);let t=e.join(`|`);return RegExp(`\\b(?:(\\d+)\\s+)?(${t})\\s*(?:§§?|[Ss]ections?)?\\s*(\\d+(?:[A-Za-z0-9:/-]|\\.(?=[A-Za-z0-9]))*(?:\\([^)]*\\))*(?:\\s*et\\s+seq\\.?)?)`,`g`)}const a=[{jurisdiction:`FL`,abbreviations:[`Fla. Stat. Ann.`,`Fla. Stat.`,`Fla Stat`,`F.S.`,`FS`],regexFragment:`Fla\\.?\\s*Stat(?:utes)?\\.?(?:\\s*Ann\\.?)?|F\\.?S\\.?`},{jurisdiction:`OH`,abbreviations:[`Ohio Rev. Code Ann.`,`Ohio Rev. Code`,`O.R.C.`,`ORC`,`R.C.`,`RC`],regexFragment:`Ohio\\s+Rev\\.?\\s+Code(?:\\s+Ann\\.?)?|O\\.?R\\.?C\\.?|R\\.?C\\.?`},{jurisdiction:`MI`,abbreviations:[`Mich. Comp. Laws Ann.`,`Mich. Comp. Laws Serv.`,`Mich. Comp. Laws`,`M.C.L.`,`MCLA`,`MCLS`,`MCL`],regexFragment:`Mich\\.?\\s+Comp\\.?\\s+Laws(?:\\s+(?:Ann|Serv)\\.?)?|M\\.?C\\.?L\\.?|MCL[AS]?`},{jurisdiction:`UT`,abbreviations:[`Utah Code Ann.`,`Utah Code`,`U.C.A.`,`UCA`],regexFragment:`Utah\\s+Code(?:\\s+Ann\\.?)?|U\\.?C\\.?A\\.?`},{jurisdiction:`CO`,abbreviations:[`Colorado Revised Statutes Annotated`,`Colo. Rev. Stat. Ann.`,`Colorado Revised Statutes 1963`,`Colorado Revised Statutes 1973`,`Colorado Revised Statutes`,`Colo. Rev. Stat.`,`C.R.S. 1963`,`C.R.S. 1973`,`C.R.S.`,`CRS`],regexFragment:`Colo(?:rado)?\\.?\\s+Rev(?:ised)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?(?:\\s+19\\d{2})?|C\\.?R\\.?S\\.?(?:\\s+19\\d{2})?`},{jurisdiction:`WA`,abbreviations:[`Wash. Rev. Code Ann.`,`Wash. Rev. Code`,`RCW`],regexFragment:`Wash\\.?\\s+Rev\\.?\\s+Code(?:\\s+Ann\\.?)?|RCW`},{jurisdiction:`NC`,abbreviations:[`N.C. Gen. Stat. Ann.`,`N.C. Gen. Stat.`,`N.C.G.S.`,`NCGS`,`G.S.`,`GS`],regexFragment:`N\\.?C\\.?\\s*Gen\\.?\\s*Stat\\.?(?:\\s+Ann\\.?)?|N\\.?C\\.?G\\.?S\\.?|G\\.?S\\.?`},{jurisdiction:`GA`,abbreviations:[`Ga. Code Ann.`,`Ga. Code`,`O.C.G.A.`,`OCGA`],regexFragment:`Ga\\.?\\s+Code(?:\\s+Ann\\.?)?|O\\.?C\\.?G\\.?A\\.?`},{jurisdiction:`PA`,abbreviations:[`Pa. Cons. Stat.`,`Pa.C.S.A.`,`Pa.C.S.`,`Pa. C.S.A.`,`Pa. C.S.`],regexFragment:`Pa\\.?\\s*C\\.?S\\.?A?\\.?|Pa\\.?\\s+Cons\\.?\\s+Stat\\.?`},{jurisdiction:`PA`,abbreviations:[`P.S.`,`PS`],regexFragment:`P\\.?S\\.?`},{jurisdiction:`IN`,abbreviations:[`Burns Ind. Code Ann.`,`Burns Ind. Code`,`Indiana Code Ann.`,`Indiana Code`,`Ind. Code Ann.`,`Ind. Code`,`I.C.`,`IC`],regexFragment:`Burns\\s+Ind\\.?\\s+Code(?:\\s+Ann\\.?)?|Ind(?:iana)?\\.?\\s+Code(?:\\s+Ann\\.?)?|I\\.?C\\.?`},{jurisdiction:`NJ`,abbreviations:[`N.J.S.A.`,`NJSA`,`N.J.S.`,`NJS`],regexFragment:`N\\.?J\\.?\\s*S(?:tat)?\\.?\\s*A?\\.?`},{jurisdiction:`DE`,abbreviations:[`Del. Code Ann.`,`Del. Code`,`Del. C.`,`Del C`],regexFragment:`Del\\.?\\s*(?:Code(?:\\s+Ann\\.?)?|C\\.?)`},{jurisdiction:`AK`,abbreviations:[`Alaska Stat. Ann.`,`Alaska Stat.`,`AS`],regexFragment:`Alaska\\s+Stat\\.?(?:\\s+Ann\\.?)?|A\\.?S\\.?`},{jurisdiction:`AZ`,abbreviations:[`Ariz. Rev. Stat. Ann.`,`Ariz. Rev. Stat.`,`A.R.S.`],regexFragment:`Ariz\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|A\\.?\\s*R\\.?\\s*S\\.?`},{jurisdiction:`AR`,abbreviations:[`Arkansas Code Annotated`,`Ark. Code Ann.`,`Arkansas Code`,`A.C.A.`],regexFragment:`Ark(?:ansas)?\\.?\\s+Code(?:\\s+Ann(?:otated)?\\.?)?|A\\.?C\\.?A\\.?`},{jurisdiction:`AR`,abbreviations:[`Arkansas Statutes Annotated`,`Ark. Stat. Ann.`,`Ark. Stat.`],regexFragment:`Ark(?:ansas)?\\.?\\s+Stat(?:utes)?\\.?(?:\\s+Ann(?:otated)?\\.?)?`},{jurisdiction:`CT`,abbreviations:[`Conn. Gen. Stat. Ann.`,`Conn. Gen. Stat.`,`C.G.S.`],regexFragment:`Conn\\.?\\s+Gen\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|C\\.?G\\.?S\\.?`},{jurisdiction:`DC`,abbreviations:[`D.C. Official Code`,`D.C. Code Ann.`,`D.C. Code`],regexFragment:`D\\.?C\\.?\\s+(?:Official\\s+)?Code(?:\\s+Ann\\.?)?`},{jurisdiction:`HI`,abbreviations:[`Haw. Rev. Stat. Ann.`,`Haw. Rev. Stat.`,`HRS`],regexFragment:`Haw\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|HRS`},{jurisdiction:`IA`,abbreviations:[`Iowa Code Ann.`,`Iowa Code`,`I.C.A.`],regexFragment:`Iowa\\s+Code(?:\\s+Ann\\.?)?|I\\.?C\\.?A\\.?`},{jurisdiction:`ID`,abbreviations:[`Idaho Code Ann.`,`Idaho Code`],regexFragment:`Idaho\\s+Code(?:\\s+Ann\\.?)?`},{jurisdiction:`KS`,abbreviations:[`Kan. Stat. Ann.`,`K.S.A.`],regexFragment:`Kan\\.?\\s+Stat\\.?\\s+Ann\\.?|K\\.?S\\.?A\\.?`},{jurisdiction:`KY`,abbreviations:[`Ky. Rev. Stat. Ann.`,`Ky. Rev. Stat.`,`KRS`],regexFragment:`Ky\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|KRS`},{jurisdiction:`LA`,abbreviations:[`La. Rev. Stat. Ann.`,`La. R.S.`,`LSA-R.S.`],regexFragment:`La\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|La\\.?\\s+R\\.?S\\.?|LSA-R\\.?S\\.?`},{jurisdiction:`ME`,abbreviations:[`Me. Rev. Stat. Ann.`,`Me. Rev. Stat.`,`M.R.S.A.`,`M.R.S.`],regexFragment:`Me\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|M\\.?R\\.?S\\.?A?\\.?`},{jurisdiction:`MN`,abbreviations:[`Minn. Stat. Ann.`,`Minn. Stat.`,`M.S.A.`],regexFragment:`Minn\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|M\\.?S\\.?A\\.?`},{jurisdiction:`MS`,abbreviations:[`Miss. Code Ann.`,`Mississippi Code`,`MS Code`],regexFragment:`Miss(?:issippi)?\\.?\\s+Code(?:\\s+Ann\\.?)?|MS\\s+Code`},{jurisdiction:`MO`,abbreviations:[`Mo. Ann. Stat.`,`Mo. Rev. Stat.`,`V.A.M.S.`,`RSMo`],regexFragment:`Mo\\.?\\s+(?:Ann\\.?\\s+|Rev\\.?\\s+)Stat\\.?|V\\.?A\\.?M\\.?S\\.?|RSMo`},{jurisdiction:`MT`,abbreviations:[`Mont. Code Ann.`,`MCA`],regexFragment:`Mont\\.?\\s+Code(?:\\s+Ann\\.?)?|MCA`},{jurisdiction:`ND`,abbreviations:[`N.D. Cent. Code`,`N.D.C.C.`],regexFragment:`N\\.?D\\.?\\s+Cent\\.?\\s+Code|N\\.?D\\.?C\\.?C\\.?`},{jurisdiction:`NE`,abbreviations:[`Neb. Rev. Stat.`,`R.R.S. Neb.`,`R.R.S.`],regexFragment:`Neb\\.?\\s+Rev\\.?\\s+Stat\\.?|R\\.?R\\.?S\\.?(?:\\s+Neb\\.?)?`},{jurisdiction:`NH`,abbreviations:[`N.H. Rev. Stat. Ann.`,`N.H. RSA`,`RSA`],regexFragment:`N\\.?H\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|N\\.?H\\.?\\s+RSA|RSA`},{jurisdiction:`NM`,abbreviations:[`N.M. Stat. Ann.`,`NMSA 1978`,`NMSA`],regexFragment:`N\\.?M\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|NMSA(?:\\s+1978)?`},{jurisdiction:`NV`,abbreviations:[`Nev. Rev. Stat. Ann.`,`Nev. Rev. Stat.`,`NRS`],regexFragment:`Nev\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|NRS`},{jurisdiction:`OK`,abbreviations:[`Okla. Stat. Ann.`,`Okla. Stat.`,`O.S.`],regexFragment:`Okla\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|O\\.?S\\.?`},{jurisdiction:`OR`,abbreviations:[`Or. Rev. Stat. Ann.`,`Or. Rev. Stat.`,`ORS`],regexFragment:`Or\\.?\\s+Rev\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|ORS`},{jurisdiction:`RI`,abbreviations:[`R.I. Gen. Laws`,`R.I.G.L.`],regexFragment:`R\\.?I\\.?\\s+Gen\\.?\\s+Laws|R\\.?I\\.?G\\.?L\\.?`},{jurisdiction:`SC`,abbreviations:[`S.C. Code Ann.`,`S.C. Code`],regexFragment:`S\\.?C\\.?\\s+Code(?:\\s+Ann\\.?)?`},{jurisdiction:`SD`,abbreviations:[`S.D. Codified Laws`,`S.D.C.L.`,`SDCL`],regexFragment:`S\\.?D\\.?\\s+Codified\\s+Laws|S\\.?D\\.?C\\.?L\\.?|SDCL`},{jurisdiction:`TN`,abbreviations:[`Tenn. Code Ann.`,`Tennessee Code`,`T.C.A.`,`TN Code`],regexFragment:`Tenn(?:essee)?\\.?\\s+Code(?:\\s+Ann\\.?)?|T\\.?C\\.?A\\.?|TN\\s+Code`},{jurisdiction:`VT`,abbreviations:[`Vt. Stat. Ann.`,`V.S.A.`],regexFragment:`Vt\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|V\\.?S\\.?A\\.?`},{jurisdiction:`WI`,abbreviations:[`Wis. Stat. Ann.`,`Wis. Stat.`,`W.S.A.`],regexFragment:`Wis\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|W\\.?S\\.?A\\.?`},{jurisdiction:`WV`,abbreviations:[`W. Va. Code Ann.`,`W. Va. Code`,`WV Code`],regexFragment:`W\\.?\\s*Va\\.?\\s+Code(?:\\s+Ann\\.?)?|WV\\s+Code`},{jurisdiction:`WY`,abbreviations:[`Wyo. Stat. Ann.`,`Wyo. Stat.`,`W.S.`],regexFragment:`Wyo\\.?\\s+Stat\\.?(?:\\s+Ann\\.?)?|W\\.?S\\.?`}],o=a.map(e=>({jurisdiction:e.jurisdiction,abbreviation:e.abbreviations[e.abbreviations.length-1],family:`abbreviated`,patterns:e.abbreviations})),s=[{jurisdiction:`NY`,abbreviation:`CPLR`,family:`named`,patterns:[`C.P.L.R.`,`CPLR`,`Civ. Prac. L. & R.`,`Civil Practice Law & Rules`]},{jurisdiction:`NY`,abbreviation:`CPL`,family:`named`,patterns:[`Crim. Proc.`,`Criminal Procedure`]},{jurisdiction:`NY`,abbreviation:`GBS`,family:`named`,patterns:[`Gen. Bus.`,`General Business`]},{jurisdiction:`NY`,abbreviation:`GOB`,family:`named`,patterns:[`Gen. Oblig.`,`General Obligations`]},{jurisdiction:`NY`,abbreviation:`PEN`,family:`named`,patterns:[`Penal`]},{jurisdiction:`NY`,abbreviation:`ISC`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`NY`,abbreviation:`LAB`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`NY`,abbreviation:`RPL`,family:`named`,patterns:[`Real Prop.`,`Real Property`]},{jurisdiction:`NY`,abbreviation:`EXC`,family:`named`,patterns:[`Exec.`,`Executive`]},{jurisdiction:`NY`,abbreviation:`JUD`,family:`named`,patterns:[`Jud.`,`Judiciary`]},{jurisdiction:`NY`,abbreviation:`SCP`,family:`named`,patterns:[`Surr. Ct. Proc.`,`Surrogate's Court Procedure`]},{jurisdiction:`NY`,abbreviation:`CVR`,family:`named`,patterns:[`Civ. Rights`,`Civil Rights`]},{jurisdiction:`NY`,abbreviation:`CVP`,family:`named`,patterns:[`Civ. Prac.`,`Civil Practice`]},{jurisdiction:`NY`,abbreviation:`EDN`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`NY`,abbreviation:`TAX`,family:`named`,patterns:[`Tax`]},{jurisdiction:`NY`,abbreviation:`PBH`,family:`named`,patterns:[`Pub. Health`,`Public Health`]},{jurisdiction:`NY`,abbreviation:`SOS`,family:`named`,patterns:[`Soc. Serv.`,`Social Services`]},{jurisdiction:`NY`,abbreviation:`ELN`,family:`named`,patterns:[`Elec.`,`Election`]},{jurisdiction:`NY`,abbreviation:`ENV`,family:`named`,patterns:[`Env. Conserv.`,`Environmental Conservation`]},{jurisdiction:`NY`,abbreviation:`BNK`,family:`named`,patterns:[`Bank.`,`Banking`]},{jurisdiction:`NY`,abbreviation:`DRL`,family:`named`,patterns:[`Dom. Rel.`,`Domestic Relations`]},{jurisdiction:`CA`,abbreviation:`CCP`,family:`named`,patterns:[`Civ. Proc.`,`Civil Procedure`]},{jurisdiction:`CA`,abbreviation:`BPC`,family:`named`,patterns:[`Bus. & Prof.`,`Business & Professions`]},{jurisdiction:`CA`,abbreviation:`HSC`,family:`named`,patterns:[`Health & Saf.`,`Health & Safety`]},{jurisdiction:`CA`,abbreviation:`RTC`,family:`named`,patterns:[`Rev. & Tax.`,`Revenue & Taxation`]},{jurisdiction:`CA`,abbreviation:`FGC`,family:`named`,patterns:[`Fish & Game`]},{jurisdiction:`CA`,abbreviation:`FAC`,family:`named`,patterns:[`Food & Agric.`,`Food & Agricultural`]},{jurisdiction:`CA`,abbreviation:`HNC`,family:`named`,patterns:[`Harb. & Nav.`,`Harbors & Navigation`]},{jurisdiction:`CA`,abbreviation:`MVC`,family:`named`,patterns:[`Mil. & Vet.`,`Military & Veterans`]},{jurisdiction:`CA`,abbreviation:`PCC`,family:`named`,patterns:[`Pub. Cont.`,`Public Contract`,`Public Contracts`]},{jurisdiction:`CA`,abbreviation:`PRC`,family:`named`,patterns:[`Pub. Res.`,`Public Resources`]},{jurisdiction:`CA`,abbreviation:`PUC`,family:`named`,patterns:[`Pub. Util.`,`Public Utilities`]},{jurisdiction:`CA`,abbreviation:`SHC`,family:`named`,patterns:[`Sts. & High.`,`Streets & Highways`]},{jurisdiction:`CA`,abbreviation:`UIC`,family:`named`,patterns:[`Unemp. Ins.`,`Unemployment Insurance`]},{jurisdiction:`CA`,abbreviation:`WIC`,family:`named`,patterns:[`Welf. & Inst.`,`Welfare & Institutions`]},{jurisdiction:`CA`,abbreviation:`CIV`,family:`named`,patterns:[`Civ.`,`Civil`]},{jurisdiction:`CA`,abbreviation:`COM`,family:`named`,patterns:[`Com.`,`Commercial`]},{jurisdiction:`CA`,abbreviation:`CORP`,family:`named`,patterns:[`Corp.`,`Corporations`]},{jurisdiction:`CA`,abbreviation:`EDC`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`CA`,abbreviation:`ELEC`,family:`named`,patterns:[`Elec.`,`Elections`]},{jurisdiction:`CA`,abbreviation:`EVID`,family:`named`,patterns:[`Evid.`,`Evidence`]},{jurisdiction:`CA`,abbreviation:`FAM`,family:`named`,patterns:[`Fam.`,`Family`]},{jurisdiction:`CA`,abbreviation:`FIN`,family:`named`,patterns:[`Fin.`,`Financial`]},{jurisdiction:`CA`,abbreviation:`GOV`,family:`named`,patterns:[`Gov.`,`Government`]},{jurisdiction:`CA`,abbreviation:`INS`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`CA`,abbreviation:`LAB`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`CA`,abbreviation:`PEN`,family:`named`,patterns:[`Penal`]},{jurisdiction:`CA`,abbreviation:`PROB`,family:`named`,patterns:[`Prob.`,`Probate`]},{jurisdiction:`CA`,abbreviation:`VEH`,family:`named`,patterns:[`Veh.`,`Vehicle`]},{jurisdiction:`CA`,abbreviation:`WAT`,family:`named`,patterns:[`Wat.`,`Water`]},{jurisdiction:`TX`,abbreviation:`CP`,family:`named`,patterns:[`Civ. Prac. & Rem.`,`Civil Practice & Remedies`]},{jurisdiction:`TX`,abbreviation:`CR`,family:`named`,patterns:[`Crim. Proc.`,`Code of Criminal Procedure`]},{jurisdiction:`TX`,abbreviation:`BC`,family:`named`,patterns:[`Bus. & Com.`,`Business & Commerce`]},{jurisdiction:`TX`,abbreviation:`BO`,family:`named`,patterns:[`Bus. Org.`,`Business Organizations`]},{jurisdiction:`TX`,abbreviation:`HS`,family:`named`,patterns:[`Health & Saf.`,`Health & Safety`]},{jurisdiction:`TX`,abbreviation:`HR`,family:`named`,patterns:[`Human Res.`,`Human Resources`]},{jurisdiction:`TX`,abbreviation:`LG`,family:`named`,patterns:[`Local Gov.`,`Local Government`]},{jurisdiction:`TX`,abbreviation:`NR`,family:`named`,patterns:[`Nat. Res.`,`Natural Resources`]},{jurisdiction:`TX`,abbreviation:`PW`,family:`named`,patterns:[`Parks & Wild.`,`Parks & Wildlife`]},{jurisdiction:`TX`,abbreviation:`SD`,family:`named`,patterns:[`Spec. Dist.`,`Special District`]},{jurisdiction:`TX`,abbreviation:`AL`,family:`named`,patterns:[`Alco. Bev.`,`Alcoholic Beverage`]},{jurisdiction:`TX`,abbreviation:`WL`,family:`named`,patterns:[`Water`]},{jurisdiction:`TX`,abbreviation:`CV`,family:`named`,patterns:[`Vernon's Civ. Stat.`,`Vernon's Civil Statutes`]},{jurisdiction:`TX`,abbreviation:`GV`,family:`named`,patterns:[`Gov't`,`Government`]},{jurisdiction:`TX`,abbreviation:`AG`,family:`named`,patterns:[`Agric.`,`Agriculture`]},{jurisdiction:`TX`,abbreviation:`ED`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`TX`,abbreviation:`EL`,family:`named`,patterns:[`Elec.`,`Election`]},{jurisdiction:`TX`,abbreviation:`ES`,family:`named`,patterns:[`Est.`,`Estates`]},{jurisdiction:`TX`,abbreviation:`FA`,family:`named`,patterns:[`Fam.`,`Family`]},{jurisdiction:`TX`,abbreviation:`FI`,family:`named`,patterns:[`Fin.`,`Finance`]},{jurisdiction:`TX`,abbreviation:`IN`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`TX`,abbreviation:`LA`,family:`named`,patterns:[`Lab.`,`Labor`]},{jurisdiction:`TX`,abbreviation:`OC`,family:`named`,patterns:[`Occup.`,`Occupations`]},{jurisdiction:`TX`,abbreviation:`PE`,family:`named`,patterns:[`Penal`]},{jurisdiction:`TX`,abbreviation:`PB`,family:`named`,patterns:[`Prob.`,`Probate`]},{jurisdiction:`TX`,abbreviation:`PR`,family:`named`,patterns:[`Prop.`,`Property`]},{jurisdiction:`TX`,abbreviation:`TX`,family:`named`,patterns:[`Tax`]},{jurisdiction:`TX`,abbreviation:`TN`,family:`named`,patterns:[`Transp.`,`Transportation`]},{jurisdiction:`TX`,abbreviation:`UT`,family:`named`,patterns:[`Util.`,`Utilities`]},{jurisdiction:`MD`,abbreviation:`gag`,family:`named`,patterns:[`Agric.`,`Agriculture`]},{jurisdiction:`MD`,abbreviation:`gab`,family:`named`,patterns:[`Alc. Bev.`,`Alcoholic Beverages and Cannabis`]},{jurisdiction:`MD`,abbreviation:`gbo`,family:`named`,patterns:[`Bus. Occ. & Prof.`,`Business Occupations and Professions`]},{jurisdiction:`MD`,abbreviation:`gbr`,family:`named`,patterns:[`Bus. Reg.`,`Business Regulation`]},{jurisdiction:`MD`,abbreviation:`gcl`,family:`named`,patterns:[`Com. Law`,`Commercial Law`]},{jurisdiction:`MD`,abbreviation:`gca`,family:`named`,patterns:[`Corps. & Ass'ns`,`Corporations and Associations`]},{jurisdiction:`MD`,abbreviation:`gcs`,family:`named`,patterns:[`Corr. Servs.`,`Correctional Services`]},{jurisdiction:`MD`,abbreviation:`gcj`,family:`named`,patterns:[`Cts. & Jud. Proc.`,`Courts and Judicial Proceedings`]},{jurisdiction:`MD`,abbreviation:`gcr`,family:`named`,patterns:[`Crim. Law`,`Criminal Law`]},{jurisdiction:`MD`,abbreviation:`gcp`,family:`named`,patterns:[`Crim. Proc.`,`Criminal Procedure`]},{jurisdiction:`MD`,abbreviation:`gec`,family:`named`,patterns:[`Econ. Dev.`,`Economic Development`]},{jurisdiction:`MD`,abbreviation:`ged`,family:`named`,patterns:[`Educ.`,`Education`]},{jurisdiction:`MD`,abbreviation:`gel`,family:`named`,patterns:[`Elec. Law`,`Election Law`]},{jurisdiction:`MD`,abbreviation:`gen`,family:`named`,patterns:[`Envir.`,`Environment`]},{jurisdiction:`MD`,abbreviation:`get`,family:`named`,patterns:[`Est. & Trusts`,`Estates and Trusts`]},{jurisdiction:`MD`,abbreviation:`gfl`,family:`named`,patterns:[`Fam. Law`,`Family Law`]},{jurisdiction:`MD`,abbreviation:`gfi`,family:`named`,patterns:[`Fin. Inst.`,`Financial Institutions`]},{jurisdiction:`MD`,abbreviation:`ggp`,family:`named`,patterns:[`Gen. Prov.`,`General Provisions`]},{jurisdiction:`MD`,abbreviation:`ghg`,family:`named`,patterns:[`Health-Gen.`,`Health - General`]},{jurisdiction:`MD`,abbreviation:`gho`,family:`named`,patterns:[`Health Occ.`,`Health Occupations`]},{jurisdiction:`MD`,abbreviation:`ghs`,family:`named`,patterns:[`Hous. & Cmty. Dev.`,`Housing and Community Development`]},{jurisdiction:`MD`,abbreviation:`ghu`,family:`named`,patterns:[`Hum. Servs.`,`Human Services`]},{jurisdiction:`MD`,abbreviation:`gin`,family:`named`,patterns:[`Ins.`,`Insurance`]},{jurisdiction:`MD`,abbreviation:`gle`,family:`named`,patterns:[`Lab. & Empl.`,`Labor and Employment`]},{jurisdiction:`MD`,abbreviation:`glu`,family:`named`,patterns:[`Land Use`]},{jurisdiction:`MD`,abbreviation:`glg`,family:`named`,patterns:[`Local Gov't`,`Local Government`]},{jurisdiction:`MD`,abbreviation:`gnr`,family:`named`,patterns:[`Nat. Res.`,`Natural Resources`]},{jurisdiction:`MD`,abbreviation:`gps`,family:`named`,patterns:[`Pub. Safety`,`Public Safety`]},{jurisdiction:`MD`,abbreviation:`gpu`,family:`named`,patterns:[`PUC`,`Public Utilities`]},{jurisdiction:`MD`,abbreviation:`grp`,family:`named`,patterns:[`Real Prop.`,`Real Property`]},{jurisdiction:`MD`,abbreviation:`gsf`,family:`named`,patterns:[`State Fin. & Proc.`,`State Finance and Procurement`]},{jurisdiction:`MD`,abbreviation:`gsg`,family:`named`,patterns:[`State Gov't`,`State Government`]},{jurisdiction:`MD`,abbreviation:`gsp`,family:`named`,patterns:[`State Pers. & Pens.`,`State Personnel and Pensions`]},{jurisdiction:`MD`,abbreviation:`gtg`,family:`named`,patterns:[`Tax-Gen.`,`Tax - General`]},{jurisdiction:`MD`,abbreviation:`gtp`,family:`named`,patterns:[`Tax-Prop.`,`Tax - Property`]},{jurisdiction:`MD`,abbreviation:`gtr`,family:`named`,patterns:[`Transp.`,`Transportation`]},{jurisdiction:`VA`,abbreviation:`CODE`,family:`named`,patterns:[`Code`,`Code Ann.`]},{jurisdiction:`AL`,abbreviation:`CODE`,family:`named`,patterns:[`Code`,`Code Ann.`]},{jurisdiction:`MA`,abbreviation:`GL`,family:`named`,patterns:[`Gen. Laws`,`General Laws`]}];function c(e,t){let n=t.replace(/\s+/g,` `).trim().toLowerCase(),r=l.get(e);if(!r)return;let i,a=0;for(let{entry:e,lower:t}of r)(n===t||n.startsWith(t))&&t.length>a&&(i=e,a=t.length);return i}const l=new Map;for(let e of s){let t=l.get(e.jurisdiction);t||(t=[],l.set(e.jurisdiction,t));for(let n of e.patterns)t.push({entry:e,lower:n.toLowerCase()})}const u=new Map;for(let e of o)for(let t of e.patterns)u.set(t.toLowerCase(),e);const d=new Map;for(let e of o)for(let t of e.patterns){let n=t.toLowerCase().replace(/[.\s]/g,``);n.length!==0&&d.set(n,e)}function f(e){let t=e.toLowerCase(),n=u.get(t);if(n)return n;let r=t.replace(/[.\s]/g,``);if(r.length>0){let e=d.get(r);if(e)return e}let i,a=0;for(let[e,n]of u)t.startsWith(e)&&e.length>a&&(i=n,a=e.length);return i}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=knownCodes-BWcGoAFI.cjs.map