epstein-files 1.2.0__py3-none-any.whl → 1.2.5__py3-none-any.whl

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.
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import re
3
+ from collections import defaultdict
3
4
  from dataclasses import dataclass, field
4
5
 
5
6
  from rich.console import Console
@@ -10,9 +11,9 @@ from epstein_files.util.constant.names import *
10
11
  from epstein_files.util.constant.strings import *
11
12
  from epstein_files.util.constant.urls import ARCHIVE_LINK_COLOR
12
13
  from epstein_files.util.constants import (EMAILER_ID_REGEXES, EPSTEIN_V_ROTHSTEIN_EDWARDS,
13
- OSBORNE_LLP, REPLY_REGEX, SENT_FROM_REGEX, VIRGIN_ISLANDS)
14
+ OSBORNE_LLP, REPLY_REGEX, SENT_FROM_REGEX)
15
+ from epstein_files.util.data import sort_dict, without_falsey
14
16
  from epstein_files.util.doc_cfg import *
15
- from epstein_files.util.data import without_falsey
16
17
  from epstein_files.util.env import args
17
18
  from epstein_files.util.logging import logger
18
19
 
@@ -20,17 +21,18 @@ CIVIL_ATTORNEY = 'civil attorney'
20
21
  CRIMINAL_DEFENSE_ATTORNEY = 'criminal defense attorney'
21
22
  CRIMINAL_DEFENSE_2008 = f"{CRIMINAL_DEFENSE_ATTORNEY} on 2008 case"
22
23
  EPSTEIN_LAWYER = 'lawyer'
23
- EPSTEIN_V_ROTHSTEIN_EDWARDS_ATTORNEY = f"{CIVIL_ATTORNEY} in {EPSTEIN_V_ROTHSTEIN_EDWARDS}"
24
+ EPSTEIN_V_ROTHSTEIN_EDWARDS_ATTORNEY = f"{CIVIL_ATTORNEY} {EPSTEIN_V_ROTHSTEIN_EDWARDS}"
24
25
  ESTATE_EXECUTOR = 'estate executor'
25
26
  EPSTEIN_ESTATE_EXECUTOR = f"Epstein {ESTATE_EXECUTOR}"
27
+ MC2_MODEL_MANAGEMENT = f"{JEAN_LUC_BRUNEL}'s MC2 Model Management"
26
28
  MIDEAST = 'mideast'
27
29
  QUESTION_MARKS_TXT = Text(QUESTION_MARKS, style='grey50')
28
30
  REGEX_STYLE_PREFIX = 'regex'
29
- SIMPLE_NAME_REGEX = re.compile(r"^[-\w ]+$", re.IGNORECASE)
31
+ SIMPLE_NAME_REGEX = re.compile(r"^[-\w, ]+$", re.IGNORECASE)
32
+ TECH_BRO = 'tech bro'
30
33
 
31
34
  CATEGORY_STYLE_MAPPING = {
32
35
  ARTICLE: JOURNALIST,
33
- ARTS: ENTERTAINER,
34
36
  BOOK: JOURNALIST,
35
37
  LEGAL: EPSTEIN_LAWYER,
36
38
  POLITICS: LOBBYIST,
@@ -152,7 +154,7 @@ class HighlightedNames(HighlightedText):
152
154
  name_patterns = [remove_question_marks(name).replace(' ', r"\s+")]
153
155
 
154
156
  if ' ' in name:
155
- for partial_name in [extract_first_name(name), extract_last_name(name)]:
157
+ for partial_name in [reversed_name(name), extract_first_name(name), extract_last_name(name)]: # Order matters
156
158
  if partial_name.lower() not in NAMES_TO_NOT_HIGHLIGHT and SIMPLE_NAME_REGEX.match(partial_name):
157
159
  name_patterns.append(partial_name.replace(' ', r"\s+"))
158
160
 
@@ -219,29 +221,33 @@ HIGHLIGHTED_NAMES = [
219
221
  label=ACADEMIA,
220
222
  style='light_goldenrod2',
221
223
  emailers={
222
- DAVID_HAIG: 'evolutionary geneticist?',
223
- JOSCHA_BACH: 'cognitive science / AI research',
224
224
  'Daniel Kahneman': 'Nobel economic sciences laureate and cognitivie psychologist (?)',
225
- 'Ed Boyden': f'Associate Professor, {MIT_MEDIA_LAB} neurobiology',
225
+ DAVID_HAIG: 'evolutionary geneticist?',
226
+ 'David Grosof': 'MIT Sloan School of Management',
227
+ 'Ed Boyden': f'{MIT_MEDIA_LAB} neurobiology professor',
226
228
  'Harry Fisch': "men's health expert at New York-Presbyterian / Weill Cornell (?)",
227
- LAWRENCE_KRAUSS: 'theoretical physicist',
229
+ JOSCHA_BACH: 'cognitive science / AI research',
230
+ LAWRENCE_KRAUSS: 'theoretical physicist with #MeToo problems',
228
231
  LINDA_STONE: f'ex-Microsoft, {MIT_MEDIA_LAB}',
229
232
  MARK_TRAMO: 'professor of neurology at UCLA',
230
233
  'Nancy Dahl': f'wife of {LAWRENCE_KRAUSS}',
231
234
  NEAL_KASSELL: 'professor of neurosurgery at University of Virginia',
232
235
  NOAM_CHOMSKY: f"professor of linguistics at MIT",
236
+ 'Norman Finkelstein': 'scholar, well known critic of Israel',
233
237
  PETER_ATTIA: 'longevity medicine',
234
238
  ROBERT_TRIVERS: 'evolutionary biology',
235
239
  ROGER_SCHANK: 'Teachers College, Columbia University',
236
240
  'Valeria Chomsky': f"wife of {NOAM_CHOMSKY}",
237
241
  },
238
242
  patterns=[
243
+ r"Andy\s*Lippman", # Media Lab
244
+ r"Arizona\s*State\s*University",
239
245
  r"Bard\s+((Early )?College|High School|Schools)",
240
246
  r"Brotherton",
241
247
  r"Carl\s*Sagan",
242
248
  r"Columbia",
243
249
  r"Dan(iel|ny) Kahneman",
244
- r"David Grosof",
250
+ r"(Francis\s*)?Crick",
245
251
  r"J(ames|im)\s*Watson",
246
252
  r"(Lord\s*)?Martin\s*Rees",
247
253
  r"Massachusetts\s*Institute\s*of\s*Technology",
@@ -254,10 +260,13 @@ HIGHLIGHTED_NAMES = [
254
260
  r"Princeton(\s*University)?",
255
261
  r"Regeneron",
256
262
  r"(Richard\s*)?Dawkins",
263
+ r"(Sandy\s*)?Pentland", # Media Lab
257
264
  r"Sanofi",
258
265
  r"Stanford(\s*University)?(\s*Hospital)?",
259
266
  r"(Stephen\s*)?Hawking",
260
267
  r"(Steven?\s*)?Pinker",
268
+ r"Texas\s*A&M",
269
+ r"Tulane",
261
270
  r"UCLA",
262
271
  ],
263
272
  ),
@@ -274,32 +283,81 @@ HIGHLIGHTED_NAMES = [
274
283
  patterns=[
275
284
  r"Buhari",
276
285
  r"Econet(\s*Wireless)",
286
+ r"Ethiopian?",
277
287
  r"Ghana(ian)?",
278
288
  r"Glencore",
279
289
  r"Goodluck Jonathan",
280
290
  r"Johannesburg",
281
- r"Kenya",
291
+ r"Kenyan?",
282
292
  r"Nigerian?",
283
293
  r"Okey Enelamah",
294
+ r"(Paul\s*)?Kagame",
295
+ r"Rwandan?",
284
296
  r"Senegal(ese)?",
285
297
  r"Serengeti",
286
298
  r"(South\s*)?African?",
287
299
  r"(Strive\s*)?Masiyiwa",
288
- r"Tanzania",
300
+ r"Tanzanian?",
289
301
  r"Ugandan?",
302
+ r"(Yoweri\s*)?Museveni",
290
303
  r"Zimbabwe(an)?",
291
304
  ],
292
305
  ),
306
+ HighlightedNames(
307
+ label=ARTS,
308
+ style='light_steel_blue3',
309
+ emailers={
310
+ ANDRES_SERRANO: "'Piss Christ' artist",
311
+ 'Barry Josephson': 'American film producer, editor FamilySecurityMatters.org',
312
+ BILL_SIEGEL: 'documentary film producer and director',
313
+ DAVID_BLAINE: 'famous magician',
314
+ 'David Brenner': 'American comedian and actor',
315
+ 'Richard Merkin': 'painter, illustrator and arts educator',
316
+ STEVEN_PFEIFFER: 'Associate Director at Independent Filmmaker Project (IFP)',
317
+ 'Steven Gaydos': 'American screenwriter and journalist',
318
+ },
319
+ patterns=[
320
+ r"(Art )?Spiegelman",
321
+ r"Artspace",
322
+ r"Bobby slayton",
323
+ r"bono\s*mick",
324
+ r"Errol(\s*Morris)?",
325
+ r"Etienne Binant",
326
+ r"(Frank\s)?Gehry",
327
+ r"Harvey\s*Weinstein", r"wientstein", r"Weinstein\s*Co(s?|mpany)",
328
+ r"IFP",
329
+ r"Independent\s*Filmmaker\s*Project",
330
+ r"Jagger",
331
+ r"(Jeffrey\s*)?Katzenberg",
332
+ r"(Johnny\s*)?Depp",
333
+ r"Kid Rock",
334
+ r"(Larry\s*)?Gagosian",
335
+ r"Lena\s*Dunham",
336
+ r"Madonna",
337
+ r"Mark\s*Burnett",
338
+ r"New York Film Festival",
339
+ r"Peter Getzels",
340
+ r"Phaidon",
341
+ r"Ramsey Elkholy",
342
+ r"Regan arts",
343
+ r"shirley maclaine",
344
+ r"Woody( Allen)?",
345
+ r"Zach Braff",
346
+ ],
347
+ ),
293
348
  HighlightedNames(
294
349
  label=BILL_GATES,
295
350
  style='turquoise4',
351
+ category=TECH_BRO,
296
352
  emailers={
353
+ BILL_GATES: 'ex-Microsoft, Gates Foundation, bgC3',
297
354
  BORIS_NIKOLIC: f'biotech VC partner of {BILL_GATES}, {EPSTEIN_ESTATE_EXECUTOR}',
298
355
  },
299
356
  patterns=[
300
357
  r"BG",
301
358
  r"b?g?C3",
302
359
  r"(Bill\s*((and|or|&)\s*Melinda\s*)?)?Gates(\s*Foundation)?",
360
+ r"Kofi\s*Rashid",
303
361
  r"Melinda(\s*Gates)?",
304
362
  r"Microsoft",
305
363
  r"MSFT",
@@ -318,23 +376,27 @@ HIGHLIGHTED_NAMES = [
318
376
  r"Balaji",
319
377
  r"bitcoin(\s*Foundation)?",
320
378
  r"block ?chain(\s*capital)?",
379
+ r"Brian Forde",
321
380
  r"Brock(\s*Pierce)?",
322
381
  r"coins?",
382
+ r"Cory\s*Fields", # bitcoin dev
323
383
  r"cr[iy]?pto(currenc(y|ies))?",
324
384
  r"Digital\s*Currenc(ies|y)(\s*Initiative)?",
325
385
  r"e-currency",
326
- r"(Gavin )?Andress?en",
386
+ r"(Gavin )?Andress?en", # bitcoin dev
327
387
  r"(Howard\s+)?Lutnic?k",
388
+ r"(Jim\s*)Pallotta", # Media lab advisory board
328
389
  r"Libra",
329
390
  r"Madars",
330
391
  r"Mi(chael|ke)\s*Novogratz",
331
392
  r"(Patrick\s*)?Murck",
393
+ r"Ron Rivest",
332
394
  r"(Ross\s*)?Ulbricht",
333
395
  r"Silk\s*Road",
334
396
  r"SpanCash",
335
397
  r"Tether",
336
398
  r"virtual\s*currenc(ies|y)",
337
- r"Wladimir( van der Laan)?",
399
+ r"Wladimir( van der Laan)?", # bitcoin dev
338
400
  r"(zero\s+knowledge\s+|zk)pro(of|tocols?)",
339
401
  ],
340
402
  ),
@@ -344,11 +406,10 @@ HIGHLIGHTED_NAMES = [
344
406
  emailers={
345
407
  ALIREZA_ITTIHADIEH: 'CEO Freestream Aircraft Limited',
346
408
  BARBRO_C_EHNBOM: 'Swedish pharmaceuticals, SALSS',
347
- 'David Mitchell': 'Mitchell Holdings New York real estate developer',
348
- FRED_HADDAD: "co-founder of Heck's in West Virginia",
409
+ BARRY_J_COHEN: None,
410
+ 'David Mitchell': 'Mitchell Holdings, New York real estate developer',
349
411
  GERALD_BARTON: "Maryland property developer Landmark Land Company",
350
412
  GORDON_GETTY: 'heir to oil tycoon J. Paul Getty',
351
- NICHOLAS_RIBIS: 'Hilton CEO, former president of Trump Organization',
352
413
  'Philip Kafka': 'president of Prince Concepts (and son of Terry Kafka?)',
353
414
  ROBERT_LAWRENCE_KUHN: 'investment banker, China expert',
354
415
  TERRY_KAFKA: 'CEO of Impact Outdoor (highway billboards)',
@@ -357,7 +418,7 @@ HIGHLIGHTED_NAMES = [
357
418
  patterns=[
358
419
  r"((Bill|David)\s*)?Koch(\s*(Bro(s|thers)|Industries))?",
359
420
  r"Gruterite",
360
- r"(John\s*)?Kluge",
421
+ r"((John|Patricia)\s*)?Kluge",
361
422
  r"Marc Rich",
362
423
  r"(Mi(chael|ke)\s*)?Ovitz",
363
424
  r"(Steve\s+)?Wynn",
@@ -366,6 +427,7 @@ HIGHLIGHTED_NAMES = [
366
427
  r"Park Partners",
367
428
  r"SALSS",
368
429
  r"Swedish[-\s]*American\s*Life\s*Science\s*Summit",
430
+ r"Trilateral Commission",
369
431
  r"Valhi",
370
432
  r"(Yves\s*)?Bouvier",
371
433
  ],
@@ -377,6 +439,7 @@ HIGHLIGHTED_NAMES = [
377
439
  r"CBD",
378
440
  r"cannabis",
379
441
  r"marijuana",
442
+ r"psychedelic",
380
443
  r"THC",
381
444
  r"WEED(guide|maps)?[^s]?",
382
445
  ],
@@ -433,6 +496,7 @@ HIGHLIGHTED_NAMES = [
433
496
  r"(Barac?k )?Obama",
434
497
  r"((Bill|Hillart?y)\s*)?Clinton",
435
498
  r"((Chuck|Charles)\s*)?S(ch|hc)umer",
499
+ r"Debbie\s*Wasserman\s*Schultz",
436
500
  r"Dem(ocrat(ic)?)?",
437
501
  r"(Diana\s*)?DeGette",
438
502
  r"DNC",
@@ -450,6 +514,7 @@ HIGHLIGHTED_NAMES = [
450
514
  r"(Matteo\s*)?Salvini",
451
515
  r"Maxine\s*Waters",
452
516
  r"(Nancy )?Pelosi",
517
+ r"Open Society( Global Board)?",
453
518
  r"Ron\s*Dellums",
454
519
  r"Schumer",
455
520
  r"(Tim(othy)?\s*)?Geithner",
@@ -465,16 +530,19 @@ HIGHLIGHTED_NAMES = [
465
530
  EVA: "possibly Epstein's ex-girlfriend (?)",
466
531
  'Eva Dubin': f"Epstein's ex-girlfriend now married to {GLENN_DUBIN}",
467
532
  },
468
- patterns=[r"((Celina|Eva( Anderss?on)?|Glenn) )?Dubin"],
533
+ patterns=[r"((Celina|Eva( Anderss?on)?|Glenn?) )?Dubin"],
469
534
  ),
470
535
  HighlightedNames(
471
536
  label='employee',
472
537
  style='medium_purple4',
473
538
  emailers={
474
539
  'Alfredo Rodriguez': "Epstein's butler, stole the journal",
475
- ERIC_ROTH: 'jet decorator',
540
+ 'Bernard Kruger': "Epstein's doctor",
541
+ EDUARDO_ROBLES: f'home builder at Creative Kingdom Dubai',
542
+ ERIC_ROTH: 'jet decorator at International Jet',
476
543
  GWENDOLYN_BECK: 'Epstein fund manager in the 90s',
477
544
  JANUSZ_BANASIAK: "Epstein's house manager",
545
+ "John Allessi": "Epstein's houseman",
478
546
  JEAN_HUGUEN: 'interior design at Alberto Pinto Cabinet',
479
547
  LAWRANCE_VISOSKI: "Epstein's pilot",
480
548
  LESLEY_GROFF: f"Epstein's assistant",
@@ -482,7 +550,7 @@ HIGHLIGHTED_NAMES = [
482
550
  MERWIN_DELA_CRUZ: None, # HOUSE_OVERSIGHT_032652 Groff says "Jojo and Merwin both requested off Nov. 25 and 26"
483
551
  NADIA_MARCINKO: "Epstein's pilot",
484
552
  'Sean J. Lancaster': 'airplane reseller',
485
- ZUBAIR_KHAN: 'cybersecurity firm Tranchulas CEO, InsightsPod founder, Islamabad/Dubai',
553
+ ZUBAIR_KHAN: 'Tranchulas cybersecurity, InsightsPod founder, Islamabad / Dubai',
486
554
  },
487
555
  patterns=[
488
556
  r"Adriana\s*Ross",
@@ -490,42 +558,6 @@ HIGHLIGHTED_NAMES = [
490
558
  r"(Sarah\s*)?Kellen", r"Vickers", # Married name is Metiers
491
559
  ],
492
560
  ),
493
- HighlightedNames(
494
- label=ENTERTAINER,
495
- style='light_steel_blue3',
496
- emailers={
497
- ANDRES_SERRANO: "'Piss Christ' artist",
498
- 'Barry Josephson': 'American film producer, editor FamilySecurityMatters.org',
499
- BILL_SIEGEL: 'documentary film producer and director',
500
- DAVID_BLAINE: 'famous magician',
501
- 'Richard Merkin': 'painter, illustrator and arts educator',
502
- STEVEN_PFEIFFER: 'Associate Director at Independent Filmmaker Project (IFP)',
503
- },
504
- patterns=[
505
- r"(Art )?Spiegelman",
506
- r"Artspace",
507
- r"Bobby slayton",
508
- r"bono\s*mick",
509
- r"Errol(\s*Morris)?",
510
- r"Etienne Binant",
511
- r"(Frank\s)?Gehry",
512
- r"Jagger",
513
- r"(Jeffrey\s*)?Katzenberg",
514
- r"(Johnny\s*)?Depp",
515
- r"Kid Rock",
516
- r"(Larry\s*)?Gagosian",
517
- r"Lena\s*Dunham",
518
- r"Madonna",
519
- r"Mark\s*Burnett",
520
- r"Phaidon",
521
- r"Ramsey Elkholy",
522
- r"Regan arts",
523
- r"shirley maclaine",
524
- r"Steven Gaydos?",
525
- r"Woody( Allen)?",
526
- r"Zach Braff",
527
- ],
528
- ),
529
561
  HighlightedNames(
530
562
  label='Epstein',
531
563
  style='blue1',
@@ -534,7 +566,7 @@ HIGHLIGHTED_NAMES = [
534
566
  MARK_EPSTEIN: 'brother of Jeffrey',
535
567
  },
536
568
  patterns=[
537
- r"JEGE",
569
+ r"JEGE(\s*Inc)",
538
570
  r"LSJ",
539
571
  ],
540
572
  ),
@@ -551,7 +583,9 @@ HIGHLIGHTED_NAMES = [
551
583
  DAVID_SCHOEN: f"{CRIMINAL_DEFENSE_ATTORNEY} after 2019 arrest",
552
584
  DEBBIE_FEIN: EPSTEIN_V_ROTHSTEIN_EDWARDS_ATTORNEY,
553
585
  'Erika Kellerhals': 'attorney in St. Thomas',
586
+ FRED_HADDAD: "co-founder of Heck's in West Virginia",
554
587
  GERALD_LEFCOURT: f'friend of {ALAN_DERSHOWITZ}',
588
+ 'Howard Rubenstein': f"Epstein's former spokesman",
555
589
  JACK_GOLDBERGER: CRIMINAL_DEFENSE_2008,
556
590
  JACKIE_PERCZEK: CRIMINAL_DEFENSE_2008,
557
591
  JAY_LEFKOWITZ: f"Kirkland & Ellis partner, {CRIMINAL_DEFENSE_2008}",
@@ -565,7 +599,7 @@ HIGHLIGHTED_NAMES = [
565
599
  'Robert Gold': 'helped Epstein track down money belonging to Spanish families',
566
600
  'Roy Black': CRIMINAL_DEFENSE_2008,
567
601
  SCOTT_J_LINK: CRIMINAL_DEFENSE_ATTORNEY,
568
- TONJA_HADDAD_COLEMAN: f'{EPSTEIN_V_ROTHSTEIN_EDWARDS_ATTORNEY}, relation of Fred Haddad?',
602
+ TONJA_HADDAD_COLEMAN: f'{EPSTEIN_V_ROTHSTEIN_EDWARDS_ATTORNEY}', # relation of Fred Haddad?
569
603
  },
570
604
  patterns=[
571
605
  r"(Barry (E. )?)?Krischer",
@@ -593,14 +627,17 @@ HIGHLIGHTED_NAMES = [
593
627
  style='light_sky_blue3',
594
628
  emailers={
595
629
  ANDRZEJ_DUDA: 'former president of Poland',
596
- "Edward Rod Larsen": f"son of {TERJE_ROD_LARSEN}",
630
+ 'Caroline Lang': 'daughter of Jack Lang',
631
+ EDWARD_ROD_LARSEN: f"son of {TERJE_ROD_LARSEN}",
597
632
  'Fabrice Aidan': f'diplomat who worked with {TERJE_ROD_LARSEN}',
633
+ 'Jack Lang': 'former French Minister of National Education',
598
634
  MIROSLAV_LAJCAK: 'Russia-friendly Slovakian politician, friend of Steve Bannon',
599
635
  PETER_MANDELSON: 'UK politics',
600
636
  TERJE_ROD_LARSEN: 'Norwegian diplomat',
601
637
  THORBJORN_JAGLAND: 'former prime minister of Norway, Nobel Peace Prize Committee',
602
638
  },
603
639
  patterns=[
640
+ r"AfD",
604
641
  r"(Angela )?Merk(el|le)",
605
642
  r"Austria",
606
643
  r"(Benjamin\s*)?Harnwell",
@@ -611,7 +648,6 @@ HIGHLIGHTED_NAMES = [
611
648
  r"Brit(ain|ish)",
612
649
  r"Brussels",
613
650
  r"Cannes",
614
- r"(Caroline|Jack)?\s*Lang(, Caroline)?",
615
651
  r"Cypr(iot|us)",
616
652
  r"Davos",
617
653
  r"ECB",
@@ -641,6 +677,7 @@ HIGHLIGHTED_NAMES = [
641
677
  r"Paris",
642
678
  r"Polish",
643
679
  r"pope",
680
+ r"Scotland",
644
681
  r"(Sebastian )?Kurz",
645
682
  r"Stockholm",
646
683
  r"Strasbourg",
@@ -650,6 +687,7 @@ HIGHLIGHTED_NAMES = [
650
687
  r"(Tony\s)?Blair",
651
688
  r"U\.K\.",
652
689
  r"Ukrain(e|ian)",
690
+ r"Venice",
653
691
  r"(Vi(c|k)tor\s+)?Orbah?n",
654
692
  r"Vienna",
655
693
  r"Zug",
@@ -662,12 +700,13 @@ HIGHLIGHTED_NAMES = [
662
700
  emailers={
663
701
  AMANDA_ENS: 'Citigroup',
664
702
  BRAD_WECHSLER: f"head of {LEON_BLACK}'s personal investment vehicle according to FT",
703
+ CECILIA_STEEN: None,
665
704
  DANIEL_SABBA: 'UBS Investment Bank',
666
705
  DAVID_FISZEL: 'CIO Honeycomb Asset Management',
667
706
  JES_STALEY: 'former CEO of Barclays',
668
707
  JIDE_ZEITLIN: 'former partner at Goldman Sachs, allegations of sexual misconduct',
669
708
  'Laurie Cameron': 'currency trading',
670
- LEON_BLACK: 'Apollo CEO',
709
+ LEON_BLACK: 'Apollo CEO who paid Epstein tens of millions for tax advice',
671
710
  MARC_LEON: 'Luxury Properties Sari Morrocco',
672
711
  MELANIE_SPINELLA: 'representative of Leon Black',
673
712
  MORTIMER_ZUCKERMAN: 'business partner of Epstein, newspaper publisher',
@@ -677,12 +716,16 @@ HIGHLIGHTED_NAMES = [
677
716
  'Skip Rimer': 'Milken Institute (Michael Milken)',
678
717
  'Steven Elkman': DEUTSCHE_BANK,
679
718
  'Vahe Stepanian': 'Cetera Financial Group',
719
+ VINIT_SAHNI: f"analyst at {DEUTSCHE_BANK} and {GOLDMAN_SACHS}",
680
720
  },
681
721
  patterns=[
722
+ r"Ace\s*Greenberg",
723
+ r"AIG",
682
724
  r"((anti.?)?money\s+)?launder(s?|ers?|ing)?(\s+money)?",
683
725
  r"Apollo",
684
726
  r"Ari\s*Glass",
685
727
  r"Bank(\s*of\s*Scotland)",
728
+ r"Bear\s*Stearns",
686
729
  r"(Bernie\s*)?Madoff",
687
730
  r"Black(rock|stone)",
688
731
  r"B\s*of\s*A",
@@ -697,8 +740,11 @@ HIGHLIGHTED_NAMES = [
697
740
  r"FRBNY",
698
741
  r"Goldman(\s*Sachs)",
699
742
  r"GRAT",
743
+ r"Gratitude (America|& Enhanced)", # Leon Black and/or Epstein charity?
744
+ r"Hank\s*Greenburg",
700
745
  r"HSBC",
701
746
  r"Invesco",
747
+ r"Jamie\s*D(imon)?",
702
748
  r"(Janet\s*)?Yellen",
703
749
  r"(Jerome\s*)?Powell(?! M\. Cabot)",
704
750
  r"(Jimmy\s*)?Cayne",
@@ -707,17 +753,18 @@ HIGHLIGHTED_NAMES = [
707
753
  r"Madoff",
708
754
  r"Merrill(\s*Lynch)?",
709
755
  r"(Michael\s*)?Cembalest",
710
- r"(Mi(chael|ke)\s*)?Milken(\s*Conference)?",
756
+ r"(Mi(chael|ke)\s*)?Milken(\s*Conference|Institute)?",
711
757
  r"Mizrahi\s*Bank",
712
758
  r"MLPF&S",
713
759
  r"Morgan Stanley",
714
760
  r"(Peter L. )?Scher",
715
761
  r"(Ray\s*)?Dalio",
716
762
  r"(Richard\s*)?LeFrak",
717
- r"Schwartz?man",
763
+ r"(Ste(phen|ve)\s*)?Schwart?z?man",
718
764
  r"Serageldin",
719
765
  r"UBS",
720
766
  r"us.gio@jpmorgan.com",
767
+ r"Wall\s*Street(?!\s*Jour)",
721
768
  ],
722
769
  ),
723
770
  HighlightedNames(
@@ -738,6 +785,82 @@ HIGHLIGHTED_NAMES = [
738
785
  r"Thomas\s*(J\.?\s*)?Barrack(\s*Jr)?",
739
786
  ],
740
787
  ),
788
+ HighlightedNames(
789
+ label='government',
790
+ style='color(24) bold',
791
+ emailers={
792
+ ANN_MARIE_VILLAFANA: 'Southern District of Florida (SDFL) U.S. Attorney',
793
+ DANNY_FROST: 'Director of Communications at Manhattan D.A.',
794
+ 'Police Code Enforcement': f"{PALM_BEACH} buildings code enforcement",
795
+ },
796
+ patterns=[
797
+ r"AG",
798
+ r"(Alicia\s*)?Valle",
799
+ r'Alice\s*Fisher|Fisher, Alice',
800
+ r"AML",
801
+ r"(Andrew\s*)?(McCabe|Natsios)",
802
+ r"Attorney General",
803
+ r"((Bob|Robert)\s*)?Mueller",
804
+ r"(Byung\s)?Pak",
805
+ r"Case 1:19-cv-03377(-LAP)?",
806
+ r"(CENT|NORTH|SOUTH)COM",
807
+ r"CFTC?",
808
+ r"CIA",
809
+ r"CIS",
810
+ r"CVRA",
811
+ r"DARPA",
812
+ r"Dep(artmen)?t\.?\s*of\s*(the\s*)?(Justice|Treasury)",
813
+ r"DHS",
814
+ r"DOJ",
815
+ r"FBI",
816
+ r"FCPA",
817
+ r"FDIC",
818
+ r"FDLE",
819
+ r"Federal\s*Bureau\s*of\s*Investigation",
820
+ r"FinCEN",
821
+ r"FINRA",
822
+ r"FOIA",
823
+ r"FTC",
824
+ r"(General\s*)?P(a|e)traeus",
825
+ r"Geoff\s*Ling",
826
+ r"IRS",
827
+ r"(James\s*)?Comey",
828
+ r"(Jennifer\s*Shasky\s*)?Calvery",
829
+ r"((Judge|Mark)\s*)?(Carney|Filip)",
830
+ r"(Judge\s*)?(Kenneth\s*)?(A\.?\s*)?Marra",
831
+ r"(Justice|Treasury)\s*Dep(t|artment)",
832
+ r"(Kirk )?Blouin",
833
+ r"KYC",
834
+ r"(Lann?a\s*)?Belohlavek",
835
+ r"NIH",
836
+ r"NPA",
837
+ r"NS(A|C)",
838
+ r"OCC",
839
+ r"OFAC",
840
+ r"(Michael\s*)?Reiter",
841
+ r"OGE",
842
+ r"Office\s*of\s*Government\s*Ethics",
843
+ r"police",
844
+ r"(Preet\s*)?Bharara",
845
+ r"SCOTUS",
846
+ r"SD(FL|NY)",
847
+ r"SEC",
848
+ r"Secret\s*Service",
849
+ r"Securities\s*and\s*Exchange\s*Commission",
850
+ r"Southern\s*District(\s*of\s*(Florida|New\s*York))?",
851
+ r"State\s*Dep(artmen)?t",
852
+ r"Strzok",
853
+ r"Supreme\s*Court",
854
+ r"Treasury\s*(Dep(artmen)?t|Secretary)",
855
+ r"TSA",
856
+ r"U\.?S\.? attorney",
857
+ r"USAID",
858
+ r"US\s*(AF|Army|Air\s*Force)",
859
+ r"Walter\s*Reed(\s*Army\s*Institute\s*of\s*Research)?",
860
+ r"(William\s*J\.?\s*)?Zloch",
861
+ r"WRAIR",
862
+ ],
863
+ ),
741
864
  HighlightedNames(
742
865
  label=HARVARD,
743
866
  style='light_goldenrod3',
@@ -765,8 +888,7 @@ HIGHLIGHTED_NAMES = [
765
888
  label='India',
766
889
  style='bright_green',
767
890
  emailers={
768
- ANIL_AMBANI: 'chairman of Reliance Group',
769
- VINIT_SAHNI: None,
891
+ ANIL_AMBANI: 'billionaire chairman of Reliance Group',
770
892
  },
771
893
  patterns=[
772
894
  r"Abraaj",
@@ -789,16 +911,18 @@ HIGHLIGHTED_NAMES = [
789
911
  emailers={
790
912
  EHUD_BARAK: 'former prime minister of Israel, Epstein business partner',
791
913
  'Mitchell Bard': 'director of the American-Israeli Cooperative Enterprise (AICE)',
792
- 'Nili Priell Barak': 'wife of Ehud Barak',
914
+ NILI_PRIELL_BARAK: 'wife of Ehud Barak',
793
915
  },
794
916
  patterns=[
795
917
  r"AIPAC",
796
918
  r"Bibi",
797
919
  r"(eh|(Ehud|Nili Priell)\s*)?barak",
920
+ r"EB",
798
921
  r"Ehud\s*Barack",
799
922
  r"Israeli?",
800
923
  r"Jerusalem",
801
924
  r"J\s*Street",
925
+ r"Menachem\s*Begin",
802
926
  r"Mossad",
803
927
  r"Netanyahu",
804
928
  r"(Sheldon\s*)?Adelson",
@@ -826,27 +950,33 @@ HIGHLIGHTED_NAMES = [
826
950
  style='bright_yellow',
827
951
  emailers={
828
952
  'Alain Forget': 'author of "How To Get Out Of This World ALIVE"',
953
+ 'Alex Yablon': 'New York Magazine fact checker (?)',
829
954
  EDWARD_JAY_EPSTEIN: 'no relation, wrote books about spies',
830
955
  HENRY_HOLT: f"{MICHAEL_WOLFF}'s book publisher",
831
956
  JAMES_HILL: 'ABC News',
832
- JENNIFER_JACQUET: 'Future Science',
957
+ JENNIFER_JACQUET: 'Future Science magazine',
833
958
  JOHN_BROCKMAN: 'literary agent and author specializing in scientific literature',
834
- LANDON_THOMAS: 'New York Times',
959
+ LANDON_THOMAS: 'New York Times financial reporter',
835
960
  MICHAEL_WOLFF: 'Author of "Fire and Fury: Inside the Trump White House"',
836
961
  PAUL_KRASSNER: '60s counterculture guy',
962
+ 'Peter Aldhous': 'Buzzfeed science reporter',
963
+ "Susan Edelman": 'New York Post reporter',
837
964
  'Tim Zagat': 'Zagat restaurant guide CEO',
838
965
  },
839
966
  patterns=[
840
967
  r"ABC(\s*News)?",
841
- r"Alex\s*Yablon",
968
+ r"Alexandra Wolfe|Wolfe, Alexandra",
969
+ r"AlterNet",
842
970
  r"Arianna(\s*Huffington)?",
843
971
  r"(Arthur\s*)?Kretchmer",
844
972
  r'Associated\s*Press',
845
973
  r"Axios",
846
974
  r"BBC",
975
+ r"(Bob|Robert)\s*Costa",
847
976
  r"Breitbart",
848
- r"BuzzFeed",
849
- r"CBS(\s*(4|Corp|News))?"
977
+ r"BuzzFeed(\s*News)?",
978
+ r"C-?Span",
979
+ r"CBS(\s*(4|Corp|News))?",
850
980
  r"Charlie\s*Rose",
851
981
  r"China\s*Daily",
852
982
  r"CNBC",
@@ -859,6 +989,7 @@ HIGHLIGHTED_NAMES = [
859
989
  r"Ed\s*Krassenstein",
860
990
  r"(Emily\s*)?Michot",
861
991
  r"Ezra\s*Klein",
992
+ r"Fire\s*and\s*Fury",
862
993
  r"Forbes",
863
994
  r"Fortune\s*Magazine",
864
995
  r"Fox\s*News(\.com)?",
@@ -871,7 +1002,10 @@ HIGHLIGHTED_NAMES = [
871
1002
  r"Graydon(\s*Carter)?",
872
1003
  r"Huff(ington)?(\s*Po(st)?)?",
873
1004
  r"Ingram, David",
874
- r"(James\s*)?(Hill|Patterson)",
1005
+ r"James\s*Hill",
1006
+ r"(James\s*)?Patterson",
1007
+ r"Jesse Kornbluth",
1008
+ r"John\s*Connolly",
875
1009
  r"Jonathan\s*Karl",
876
1010
  r"Julie\s*(K.?\s*)?Brown", r'jbrown@miamiherald.com',
877
1011
  r"(Katie\s*)?Couric",
@@ -881,7 +1015,7 @@ HIGHLIGHTED_NAMES = [
881
1015
  r"(Les\s*)?Moonves",
882
1016
  r"MarketWatch",
883
1017
  r"Miami\s*Herald",
884
- r"(Mi(chael|ke)\s*)?Bloomberg",
1018
+ r"(Mi(chael|ke)\s*)?Bloomber[gq](\s*News)?",
885
1019
  r"(Michele\s*)?Dargan",
886
1020
  r"Morning News USA",
887
1021
  r"(National\s*)?Enquirer",
@@ -893,14 +1027,14 @@ HIGHLIGHTED_NAMES = [
893
1027
  r"Pro\s*Publica",
894
1028
  r"Reuters",
895
1029
  r"(Sean\s*)?Hannity",
1030
+ r"Sharon Churcher", # Daily Mail
896
1031
  r"Sulzberger",
897
1032
  r"SunSentinel",
898
- r"Susan Edelman",
899
1033
  r"(The\s*)?Financial\s*Times",
900
1034
  r"The\s*Guardian",
901
1035
  r"TheHill",
902
1036
  r"(The\s*)?Mail\s*On\s*Sunday",
903
- r"(The\s*)?N(ew\s*)?Y(ork\s*)?(P(ost)?|T(imes)?)",
1037
+ r"(The\s*)?N(ew\s*)?Y(ork)?\s*(Magazine|Observer|P(ost)?|T(imes)?)",
904
1038
  r"(The\s*)?New\s*Yorker",
905
1039
  r"(The\s*)?Wall\s*Street\s*Journal",
906
1040
  r"(The\s*)?Wa(shington\s*)?Po(st)?",
@@ -942,7 +1076,7 @@ HIGHLIGHTED_NAMES = [
942
1076
  r"((Enrique )?Pena )?Nieto",
943
1077
  r"Lat(in)?\s*Am(erican?)?",
944
1078
  r"Lula",
945
- r"Mexic(an|o)",
1079
+ r"(?<!New )Mexic(an|o)",
946
1080
  r"(Nicolas\s+)?Maduro",
947
1081
  r"Panama( Papers)?",
948
1082
  r"Peru(vian)?",
@@ -950,90 +1084,61 @@ HIGHLIGHTED_NAMES = [
950
1084
  r"Zambrano",
951
1085
  ],
952
1086
  ),
953
- HighlightedNames(
954
- label='government',
955
- style='color(24) bold',
956
- emailers={
957
- ANN_MARIE_VILLAFANA: 'Southern District of Florida (SDFL) U.S. Attorney',
958
- DANNY_FROST: 'Director of Communications at Manhattan D.A.',
959
- },
960
- patterns=[
961
- r"AG",
962
- r"(Alicia\s*)?Valle",
963
- r"AML",
964
- r"(Andrew\s*)?McCabe",
965
- r"Attorney General",
966
- r"((Bob|Robert)\s*)?Mueller",
967
- r"(Byung\s)?Pak",
968
- r"Case 1:19-cv-03377(-LAP)?",
969
- r"CFTC?",
970
- r"CIA",
971
- r"CIS",
972
- r"CVRA",
973
- r"Dep(artmen)?t\.?\s*of\s*(the\s*)?(Justice|Treasury)",
974
- r"DHS",
975
- r"DOJ",
976
- r"FBI",
977
- r"FCPA",
978
- r"FDIC",
979
- r"Federal\s*Bureau\s*of\s*Investigation",
980
- r"FinCEN",
981
- r"FINRA",
982
- r"FOIA",
983
- r"FTC",
984
- r"(General\s*)?P(a|e)traeus",
985
- r"IRS",
986
- r"(James\s*)?Comey",
987
- r"Jeff(rey)?\s*Sessions",
988
- r"(Jennifer\s*Shasky\s*)?Calvery",
989
- r"((Judge|Mark)\s*)?(Carney|Filip)",
990
- r"(Judge\s*)?(Kenneth\s*)?(A\.?\s*)?Marra",
991
- r"(Justice|Treasury)\s*Dep(t|artment)",
992
- r"(Kirk )?Blouin",
993
- r"KYC",
994
- r"(Lann?a\s*)?Belohlavek",
995
- r"NIH",
996
- r"NS(A|C)",
997
- r"OCC",
998
- r"OFAC",
999
- r"(Michael\s*)?Reiter",
1000
- r"OGE",
1001
- r"Office\s*of\s*Government\s*Ethics",
1002
- r"Police Code Enforcement",
1003
- r"(Preet\s*)?Bharara",
1004
- r"SCOTUS",
1005
- r"SD(FL|NY)",
1006
- r"SEC",
1007
- r"Secret\s*Service",
1008
- r"Securities\s*and\s*Exchange\s*Commission",
1009
- r"Southern\s*District\s*of\s*(Florida|New\s*York)",
1010
- r"State\s*Dep(artmen)?t",
1011
- r"Strzok",
1012
- r"Supreme\s*Court",
1013
- r"Treasury\s*(Dep(artmen)?t|Secretary)",
1014
- r"TSA",
1015
- r"U\.?S\.? attorney",
1016
- r"USAID",
1017
- r"(William\s*J\.?\s*)?Zloch",
1018
- ],
1019
- ),
1020
1087
  HighlightedNames(
1021
1088
  label=LOBBYIST,
1022
1089
  style='light_coral',
1023
1090
  emailers={
1024
1091
  BOB_CROWE: 'partner at Nelson Mullins',
1025
1092
  'Joshua Cooper Ramo': 'co-CEO of Henry Kissinger Associates',
1026
- KATHERINE_KEATING: 'Daughter of former Australian PM',
1093
+ KATHERINE_KEATING: 'daughter of former Australian prime minister',
1027
1094
  MOHAMED_WAHEED_HASSAN: 'former president of the Maldives',
1028
1095
  OLIVIER_COLOM: 'France',
1029
- 'Paul Keating': 'former PM of Australia',
1096
+ 'Paul Keating': 'former prime minister of Australia',
1030
1097
  PUREVSUREN_LUNDEG: 'Mongolian ambassador to the UN',
1031
1098
  'Stanley Rosenberg': 'former President of the Massachusetts Senate',
1032
1099
  },
1033
1100
  patterns=[
1034
1101
  r"CSIS",
1102
+ r"elisabeth\s*feliho",
1035
1103
  r"(Kevin\s*)?Rudd",
1036
1104
  r"Stanley Rosenberg",
1105
+ r"Vinoda\s*Basnayake",
1106
+ ],
1107
+ ),
1108
+ HighlightedNames(
1109
+ label='locations',
1110
+ style='cornsilk1',
1111
+ patterns=[
1112
+ r"Alabama",
1113
+ r"Arizona(?! State University)",
1114
+ r"Aspen",
1115
+ r"Berkeley",
1116
+ r"Brooklyn",
1117
+ r"California",
1118
+ r"Canada",
1119
+ r"Cape Cod",
1120
+ r"Connecticut",
1121
+ r"Florida",
1122
+ r"Loudoun\s*County?",
1123
+ r"Martha's\s*Vineyard",
1124
+ r"Miami(?!\s?Herald)",
1125
+ r"Nantucket",
1126
+ r"New\s*(Jersey|Mexico)",
1127
+ r"(North|South)\s*Carolina",
1128
+ r"NY(C|\s*State)",
1129
+ r"Orange\s*County",
1130
+ r"Oregon",
1131
+ r"Phoenix",
1132
+ r"Portland",
1133
+ r"Santa\s*Fe",
1134
+ r"Telluride",
1135
+ r"Teterboro",
1136
+ r"Texas(?! A&M)",
1137
+ r"Toronto",
1138
+ r"Tu(sc|cs)on",
1139
+ r"Vermont",
1140
+ r"Washington(\s*D\.?C)?(?!\s*Post)",
1141
+ r"Westchester",
1037
1142
  ],
1038
1143
  ),
1039
1144
  HighlightedNames(
@@ -1104,7 +1209,7 @@ HIGHLIGHTED_NAMES = [
1104
1209
  r"Mohammed\s+bin\s+Salman",
1105
1210
  r"Morocco",
1106
1211
  r"Mubarak",
1107
- r"Muslim",
1212
+ r"Muslim(\s*Brotherhood)?",
1108
1213
  r"Nayaf",
1109
1214
  r"Pakistani?",
1110
1215
  r"Omar",
@@ -1128,6 +1233,7 @@ HIGHLIGHTED_NAMES = [
1128
1233
  r"Tripoli",
1129
1234
  r"Tunisian?",
1130
1235
  r"Turk(ey|ish)",
1236
+ r"Turks(?! & Caicos)",
1131
1237
  r"UAE",
1132
1238
  r"((Iraq|Iran|Kuwait|Qatar|Yemen)i?)",
1133
1239
  ],
@@ -1136,16 +1242,18 @@ HIGHLIGHTED_NAMES = [
1136
1242
  label='modeling',
1137
1243
  style='pale_violet_red1',
1138
1244
  emailers={
1139
- 'Abi Schwinck': 'MC2 Model Management (?)',
1245
+ 'Abi Schwinck': f'{MC2_MODEL_MANAGEMENT} {QUESTION_MARKS}',
1140
1246
  DANIEL_SIAD: None,
1141
1247
  FAITH_KATES: 'Next Models co-founder',
1142
1248
  'Gianni Serazzi': 'fashion consultant?',
1143
1249
  HEATHER_MANN: 'South African former model, ex-girlfriend of Prince Andrew (?)',
1144
- JEAN_LUC_BRUNEL: 'MC2 Model Management founder, died by suicide in French jail',
1145
- JEFF_FULLER: 'president of MC2 Model Management USA',
1250
+ JEAN_LUC_BRUNEL: f'MC2 Model Management founder, died by suicide in French jail',
1251
+ JEFF_FULLER: f'president of {MC2_MODEL_MANAGEMENT} USA',
1252
+ 'lorraine@mc2mm.com': f'{MC2_MODEL_MANAGEMENT}',
1253
+ 'pink@mc2mm.com': f'{MC2_MODEL_MANAGEMENT}',
1146
1254
  MANUELA_MARTINEZ: 'Mega Partners (Brazilian agency)',
1147
1255
  MARIANA_IDZKOWSKA: None,
1148
- 'Michael Sanka': 'MC2 Model Management (?)',
1256
+ 'Michael Sanka': f'{MC2_MODEL_MANAGEMENT} {QUESTION_MARKS}',
1149
1257
  'Vladimir Yudashkin': 'director of the 1 Mother Agency',
1150
1258
  },
1151
1259
  patterns=[
@@ -1173,8 +1281,10 @@ HIGHLIGHTED_NAMES = [
1173
1281
  },
1174
1282
  patterns=[
1175
1283
  r"(Matt(hew)? )?Hiltzi[gk]",
1284
+ r"PR\s*Newswire",
1176
1285
  REPUTATION_MGMT,
1177
1286
  r"Reputation.com",
1287
+ r"(Robert L\. )?Dilenschneider",
1178
1288
  ],
1179
1289
  ),
1180
1290
  HighlightedNames(
@@ -1189,8 +1299,10 @@ HIGHLIGHTED_NAMES = [
1189
1299
  r"Alberto\sGonzale[sz]",
1190
1300
  r"(Alex\s*)?Acosta",
1191
1301
  r"(Ben\s*)?Sasse",
1302
+ r"Betsy Devos",
1192
1303
  r"((Bill|William)\s*)?Barr",
1193
1304
  r"Bill\s*Shine",
1305
+ r"Blackwater",
1194
1306
  r"(Bob\s*)?Corker",
1195
1307
  r"(Brett\s*)?Kavanaugh",
1196
1308
  r"Broidy",
@@ -1198,11 +1310,16 @@ HIGHLIGHTED_NAMES = [
1198
1310
  r"(?<!Merwin Dela )Cruz",
1199
1311
  r"Devin\s*Nunes",
1200
1312
  r"(Don\s*)?McGa[hn]n",
1313
+ r"Erik Prince",
1201
1314
  r"Gary\s*Cohn",
1202
1315
  r"George\s*(H\.?\s*)?(W\.?\s*)?Bush",
1203
1316
  r"(George\s*)?Nader",
1204
1317
  r"GOP",
1205
- r"(John\s*(R.?\s*)?)Bolton",
1318
+ r"Jeff(rey)?\s*Sessions",
1319
+ r"(John\s*(R.?\s*)?)?Bolton",
1320
+ r"Kasich",
1321
+ r"Keith\s*Schiller",
1322
+ r"Kelly(\s*Anne?)?\s*Conway|Kellyanne",
1206
1323
  r"Kissinger",
1207
1324
  r"Kobach",
1208
1325
  r"Kolfage",
@@ -1217,6 +1334,7 @@ HIGHLIGHTED_NAMES = [
1217
1334
  r"((General|Mike)\s*)?(Flynn|Pence)",
1218
1335
  r"(Mitt\s*)?Romney",
1219
1336
  r"Mnuchin",
1337
+ r"(Newt\s*)Gingrich",
1220
1338
  r"Nikki",
1221
1339
  r"Haley",
1222
1340
  r"(Paul\s*)?(Manafort|Volcker)",
@@ -1225,8 +1343,9 @@ HIGHLIGHTED_NAMES = [
1225
1343
  r"Reagan",
1226
1344
  r"Reince", r"Priebus",
1227
1345
  r"Republican",
1228
- r"(Rex\s*)?Tillerson",
1346
+ r"(Rex\s*)?Till?erson",
1229
1347
  r"(?<!Cynthia )(Richard\s*)?Nixon",
1348
+ r"RNC",
1230
1349
  r"Tea\s*Party",
1231
1350
  ],
1232
1351
  ),
@@ -1245,7 +1364,7 @@ HIGHLIGHTED_NAMES = [
1245
1364
  emailers={
1246
1365
  'Dasha Zhukova': 'art collector, daughter of Alexander Zhukov',
1247
1366
  MASHA_DROKOVA: 'silicon valley VC, former Putin Youth member',
1248
- RENATA_BOLOTOVA: 'former aspiring model, now fund manager at New York State Insurance Fund',
1367
+ RENATA_BOLOTOVA: 'former model, fund manager at New York State Insurance Fund',
1249
1368
  SVETLANA_POZHIDAEVA: "Epstein's Russian assistant who was recommended for a visa by Sergei Belyakov (FSB) and David Blaine",
1250
1369
  },
1251
1370
  patterns=[
@@ -1268,6 +1387,8 @@ HIGHLIGHTED_NAMES = [
1268
1387
  r"(Natalia\s*)?Veselnitskaya",
1269
1388
  r"(Oleg\s*)?Deripaska",
1270
1389
  r"Oleksandr Vilkul",
1390
+ r"Onexim", # Prokhorov investment vehicle
1391
+ r"Prokhorov",
1271
1392
  r"Rosneft",
1272
1393
  r"RT",
1273
1394
  r"St.?\s*?Petersburg",
@@ -1275,8 +1396,9 @@ HIGHLIGHTED_NAMES = [
1275
1396
  r"Russian?",
1276
1397
  r"Sberbank",
1277
1398
  r"Soviet(\s*Union)?",
1399
+ r"Timur\s*Kulibayev",
1278
1400
  r"USSR",
1279
- r"Vladimir",
1401
+ r"Vlad(imir)?(?! Yudash)",
1280
1402
  r"(Vladimir\s*)?Putin",
1281
1403
  r"Women\s*Empowerment",
1282
1404
  r"Xitrans",
@@ -1287,6 +1409,7 @@ HIGHLIGHTED_NAMES = [
1287
1409
  label='Southeast Asia',
1288
1410
  style='light_salmon3 bold',
1289
1411
  patterns=[
1412
+ r"Australian?(?! Ave)",
1290
1413
  r"Bangkok",
1291
1414
  r"Burm(a|ese)",
1292
1415
  r"Cambodian?",
@@ -1294,6 +1417,7 @@ HIGHLIGHTED_NAMES = [
1294
1417
  r"Malaysian?",
1295
1418
  r"Maldives",
1296
1419
  r"Myan?mar",
1420
+ r"New\s*Zealand",
1297
1421
  r"Philippines",
1298
1422
  r"South\s*Korean?",
1299
1423
  r"Tai(pei|wan)",
@@ -1302,7 +1426,7 @@ HIGHLIGHTED_NAMES = [
1302
1426
  ],
1303
1427
  ),
1304
1428
  HighlightedNames(
1305
- label='tech bro',
1429
+ label=TECH_BRO,
1306
1430
  style='bright_cyan',
1307
1431
  emailers={
1308
1432
  'Auren Hoffman': 'CEO of SafeGraph (firm that gathers location data from mobile devices) and LiveRamp',
@@ -1314,8 +1438,10 @@ HIGHLIGHTED_NAMES = [
1314
1438
  },
1315
1439
  patterns=[
1316
1440
  r"AG?I",
1441
+ r"Artificial\s*(General\s*)?Intelligence",
1317
1442
  r"Chamath", r"Palihapitiya",
1318
1443
  r"Danny\s*Hillis",
1444
+ r"deep learning",
1319
1445
  r"Drew\s*Houston",
1320
1446
  r"Eric\s*Schmidt",
1321
1447
  r"Greylock(\s*Partners)?",
@@ -1344,10 +1470,12 @@ HIGHLIGHTED_NAMES = [
1344
1470
  style='red3 bold',
1345
1471
  emailers={
1346
1472
  'Bruce Moskowitz': "'Trump's health guy' according to Epstein",
1473
+ NICHOLAS_RIBIS: 'Hilton CEO, former president of Trump Organization',
1347
1474
  },
1348
1475
  patterns=[
1349
1476
  r"@?realDonaldTrump",
1350
1477
  r"(Alan\s*)?Weiss?elberg",
1478
+ r"Alex\s*Jones",
1351
1479
  r"\bDJ?T\b",
1352
1480
  r"Donald J. Tramp",
1353
1481
  r"(Donald\s+(J\.\s+)?)?Trump(ism|\s*(Org(anization)?|Properties)(\s*LLC)?)?",
@@ -1359,7 +1487,7 @@ HIGHLIGHTED_NAMES = [
1359
1487
  r"(Marla\s*)?Maples",
1360
1488
  r"(Matt(hew)? )?Calamari",
1361
1489
  r"\bMatt C\b",
1362
- r"Michael\s*Cohen",
1490
+ r"Michael\s*(D\.?\s*)?Cohen",
1363
1491
  r"Melania",
1364
1492
  r"(Michael (J.? )?)?Boccio",
1365
1493
  r"Paul Rampell",
@@ -1369,14 +1497,46 @@ HIGHLIGHTED_NAMES = [
1369
1497
  r"(The\s*)?Art\s*of\s*the\s*Deal",
1370
1498
  ],
1371
1499
  ),
1500
+ HighlightedNames(
1501
+ label='USVI',
1502
+ style='sea_green1',
1503
+ emailers={
1504
+ CECILE_DE_JONGH: 'Virgin Islands first lady 2007-2015',
1505
+ KENNETH_E_MAPP: 'Virgin Islands Governor',
1506
+ STACEY_PLASKETT: 'Virgin Islands non-voting member of Congress',
1507
+ },
1508
+ patterns=[
1509
+ r"Antigua",
1510
+ r"Bahamas",
1511
+ r"BVI",
1512
+ r"Caribb?ean",
1513
+ r"Dominican\s*Republic",
1514
+ r"(Great|Little)\s*St.?\s*James",
1515
+ r"Haiti(an)?",
1516
+ r"Jamaican?",
1517
+ r"(John\s*)deJongh(\s*Jr\.?)",
1518
+ r"(Kenneth E\. )?Mapp",
1519
+ r"PBI",
1520
+ r"Puerto\s*Ric(an|o)",
1521
+ r"S(ain)?t.?\s*Thomas",
1522
+ r"USVI",
1523
+ r"(?<!stein |vis-a-)VI(?!s-a-)",
1524
+ r"(The\s*)?Virgin\s*Is(al|la)nds(\s*Daily\s*News)?", # Hard to make this work right
1525
+ r"(West\s*)?Palm\s*Beach(\s*County)?(?!\s*(Daily|Post))",
1526
+ ],
1527
+ ),
1372
1528
  HighlightedNames(
1373
1529
  label='victim',
1374
1530
  style='orchid1',
1375
1531
  patterns=[
1376
- r"(David\s*)?Bo[il]es",
1532
+ r"#metoo",
1533
+ r"(David\s*)?Bo[il]es(,?\s*Schiller( & Flexner)?)?",
1377
1534
  r"(Gloria\s*)?Allred",
1378
1535
  r"(Jane|Tiffany)\s*Doe",
1379
1536
  r"Katie\s*Johnson",
1537
+ r"pedophile",
1538
+ r"Stephanie\s*Clifford",
1539
+ r"Stormy\s*Daniels",
1380
1540
  r"(Virginia\s+((L\.?|Roberts)\s+)?)?Giuffre",
1381
1541
  r"Virginia\s+Roberts",
1382
1542
  ],
@@ -1399,35 +1559,6 @@ HIGHLIGHTED_NAMES = [
1399
1559
  r"(Scott\s*)?Rothstein",
1400
1560
  ],
1401
1561
  ),
1402
- HighlightedNames(
1403
- label='USVI',
1404
- style='sea_green1',
1405
- emailers={
1406
- CECILE_DE_JONGH: 'Virgin Islands first lady 2007-2015',
1407
- KENNETH_E_MAPP: 'Virgin Islands Governor',
1408
- STACEY_PLASKETT: 'Virgin Islands non-voting member of Congress',
1409
- },
1410
- patterns=[
1411
- r"Antigua",
1412
- r"Bahamas",
1413
- r"BVI",
1414
- r"Caribb?ean",
1415
- r"Dominican\s*Republic",
1416
- r"(Great|Little)\s*St.?\s*James",
1417
- r"Haiti(an)?",
1418
- r"(John\s*)deJongh(\s*Jr\.?)",
1419
- r"(Kenneth E\. )?Mapp",
1420
- r"PBI",
1421
- r"Puerto\s*Ric(an|o)",
1422
- r"S(ain)?t.?\s*Thomas",
1423
- r"USVI",
1424
- r"(?<!Epstein )VI",
1425
- r"(The\s*)?Virgin\s*Islands(\s*Daily\s*News)?", # Hard to make this work right
1426
- r"(West\s*)?Palm\s*Beach(?!\s*(Daily|Post))",
1427
- ],
1428
- ),
1429
-
1430
- # Individuals
1431
1562
  HighlightedNames(
1432
1563
  label=STEVE_BANNON,
1433
1564
  style='color(58)',
@@ -1441,20 +1572,27 @@ HIGHLIGHTED_NAMES = [
1441
1572
  r"Biosphere",
1442
1573
  ],
1443
1574
  ),
1575
+
1576
+ # Individuals
1444
1577
  HighlightedNames(
1578
+ emailers={STEVEN_HOFFENBERG: "Epstein's Towers Financial ponzi partner, prison for 18 years"},
1445
1579
  style='dark_olive_green3',
1446
1580
  category=FINANCE,
1447
- emailers={STEVEN_HOFFENBERG: "Epstein's Towers Financial ponzi scheme partner, prison 18 years"},
1448
1581
  patterns=[r"(steven?\s*)?hoffenberg?w?"],
1449
1582
  ),
1450
- HighlightedNames(emailers={GHISLAINE_MAXWELL: None}, patterns=[r"gmax(1@ellmax.com)?", r"(The )?TerraMar Project"], style='deep_pink3', category='Epstein'),
1583
+ HighlightedNames(
1584
+ emailers={GHISLAINE_MAXWELL: "Epstein's girlfriend, daughter of the spy Robert Maxwell"},
1585
+ category='Epstein',
1586
+ patterns=[r"gmax(1@ellmax.com)?", r"(The )?TerraMar Project"],
1587
+ style='deep_pink3',
1588
+ ),
1451
1589
  HighlightedNames(emailers={JABOR_Y: '"an influential man in Qatar"'}, category=MIDEAST, style='spring_green1'),
1452
1590
  HighlightedNames(emailers={KATHRYN_RUEMMLER: 'former Obama legal counsel'}, style='magenta2', category=FRIEND),
1453
1591
  HighlightedNames(emailers={MELANIE_WALKER: f"doctor, friend of {BILL_GATES}"}, style='pale_violet_red1', category=FRIEND),
1454
1592
  HighlightedNames(emailers={PAULA: "Epstein's ex-girlfriend who is now in the opera world"}, label='paula', style='pink1', category=FRIEND),
1455
1593
  HighlightedNames(emailers={PRINCE_ANDREW: 'British royal family'}, style='dodger_blue1', category='Europe'),
1456
- HighlightedNames(emailers={SOON_YI_PREVIN: 'wife of Woody Allen'}, style='hot_pink', category=FRIEND),
1457
- HighlightedNames(emailers={SULTAN_BIN_SULAYEM: 'CEO of DP World, chairman of ports in Dubai'}, style='green1', category=MIDEAST),
1594
+ HighlightedNames(emailers={SOON_YI_PREVIN: 'wife of Woody Allen'}, style='hot_pink', category=ARTS),
1595
+ HighlightedNames(emailers={SULTAN_BIN_SULAYEM: 'chairman of ports in Dubai, CEO of DP World'}, style='green1', category=MIDEAST),
1458
1596
 
1459
1597
  # HighlightedText not HighlightedNames bc of word boundary issue
1460
1598
  HighlightedText(
@@ -1477,7 +1615,7 @@ HIGHLIGHTED_TEXTS = [
1477
1615
  HighlightedText(
1478
1616
  label='header_field',
1479
1617
  style='plum4',
1480
- patterns=[r'^(> )?(Date|From|Sent|To|C[cC]|Importance|Reply-To|Subject|Bee|B[cC]{2}|Attachments|Flag|Classification):'],
1618
+ patterns=[r'^>? ?(Date|From|Sent|To|C[cC]|Importance|Reply[- ]?To|Subject|Bee|B[cC]{2}|Attachments|Flag|Classification|((A|De(stinataire)?|Envoye|Expe(cl|d)iteur|Objet|Q) ?)):'],
1481
1619
  ),
1482
1620
  HighlightedText(
1483
1621
  label='http_links',
@@ -1531,6 +1669,41 @@ class EpsteinHighlighter(RegexHighlighter):
1531
1669
  """Finds and colors interesting keywords based on the above config."""
1532
1670
  base_style = f"{REGEX_STYLE_PREFIX}."
1533
1671
  highlights = [highlight_group.regex for highlight_group in ALL_HIGHLIGHTS]
1672
+ highlight_counts = defaultdict(int)
1673
+
1674
+ def highlight(self, text: Text) -> None:
1675
+ """overrides https://rich.readthedocs.io/en/latest/_modules/rich/highlighter.html#RegexHighlighter"""
1676
+ highlight_regex = text.highlight_regex
1677
+
1678
+ for re_highlight in self.highlights:
1679
+ highlight_regex(re_highlight, style_prefix=self.base_style)
1680
+
1681
+ if args.debug and isinstance(re_highlight, re.Pattern):
1682
+ for match in re_highlight.finditer(text.plain):
1683
+ type(self).highlight_counts[(match.group(1) or 'None').replace('\n', ' ')] += 1
1684
+
1685
+ def print_highlight_counts(self, console: Console) -> None:
1686
+ """Print counts of how many times strings were highlighted."""
1687
+ highlight_counts = deepcopy(self.highlight_counts)
1688
+ weak_date_regex = re.compile(r"^(\d\d?/|20|http|On ).*")
1689
+
1690
+ for highlighted, count in sort_dict(highlight_counts):
1691
+ if highlighted is None or weak_date_regex.match(highlighted):
1692
+ continue
1693
+
1694
+ try:
1695
+ console.print(f"{highlighted:25s} highlighted {count} times")
1696
+ except Exception as e:
1697
+ logger.error(f"Failed to print highlight count {count} for {highlighted}")
1698
+
1699
+
1700
+ def get_highlight_group_for_name(name: str | None) -> HighlightedNames | None:
1701
+ if name is None:
1702
+ return None
1703
+
1704
+ for highlight_group in HIGHLIGHTED_NAMES:
1705
+ if highlight_group.regex.search(name):
1706
+ return highlight_group
1534
1707
 
1535
1708
 
1536
1709
  def get_style_for_category(category: str) -> str | None:
@@ -1566,15 +1739,6 @@ def styled_name(name: str | None, default_style: str = DEFAULT_NAME_STYLE) -> Te
1566
1739
  return Text(name or UNKNOWN, style=get_style_for_name(name, default_style=default_style))
1567
1740
 
1568
1741
 
1569
- def get_highlight_group_for_name(name: str | None) -> HighlightedNames | None:
1570
- if name is None:
1571
- return None
1572
-
1573
- for highlight_group in HIGHLIGHTED_NAMES:
1574
- if highlight_group.regex.search(name):
1575
- return highlight_group
1576
-
1577
-
1578
1742
  def _print_highlighted_names_repr() -> None:
1579
1743
  for hn in HIGHLIGHTED_NAMES:
1580
1744
  if isinstance(hn, HighlightedNames):