@jterrazz/intelligence 4.2.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2845 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region \0rolldown/runtime.js
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
+ get: ((k) => from[k]).bind(null, key),
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
+ value: mod,
21
+ enumerable: true
22
+ }) : target, mod));
23
+ //#endregion
24
+ let node_fs = require("node:fs");
25
+ let node_module = require("node:module");
26
+ let node_path = require("node:path");
27
+ node_path = __toESM(node_path, 1);
28
+ let nspell = require("nspell");
29
+ nspell = __toESM(nspell, 1);
30
+ //#region src/formatting/clean-ai-text.ts
31
+ const INVISIBLE_CHARS_RE = /[\u00AD\u180E\u200B-\u200C\u200E-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u2069\uFEFF]/g;
32
+ const ASCII_CTRL_RE = /[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g;
33
+ const SPACE_LIKE_RE = /[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/g;
34
+ const MULTIPLE_SPACES_RE = / {2,}/g;
35
+ const CR_RE = /\r\n?/g;
36
+ const CITATION_RE = / *\(oaicite:\d+\)\{index=\d+\}/g;
37
+ const EM_DASH_SEPARATOR_RE = /\s*[—–―‒]\s*/g;
38
+ const TYPOGRAPHY_REPLACEMENTS = [
39
+ {
40
+ pattern: /[\u2018\u2019\u201A]/g,
41
+ replacement: "'"
42
+ },
43
+ {
44
+ pattern: /[\u201C\u201D\u201E]/g,
45
+ replacement: "\""
46
+ },
47
+ {
48
+ pattern: /\u2026/g,
49
+ replacement: "..."
50
+ },
51
+ {
52
+ pattern: /[\u2022\u25AA-\u25AB\u25B8-\u25B9\u25CF]/g,
53
+ replacement: "-"
54
+ }
55
+ ];
56
+ /**
57
+ * Cleans AI-generated text by removing AI artifacts and normalizing typography.
58
+ *
59
+ * @param text - The text to clean
60
+ * @param options - Cleaning options
61
+ * @returns The cleaned text
62
+ */
63
+ function cleanAiText(text, options = {}) {
64
+ const { normalizeEmDashesToCommas = true, collapseSpaces = true } = options;
65
+ if (!text) return "";
66
+ let result = text;
67
+ result = result.replace(CR_RE, "\n");
68
+ result = result.replace(CITATION_RE, "");
69
+ result = result.normalize("NFKC");
70
+ result = result.replace(INVISIBLE_CHARS_RE, "");
71
+ result = result.replace(ASCII_CTRL_RE, "");
72
+ if (normalizeEmDashesToCommas) result = result.replace(EM_DASH_SEPARATOR_RE, ", ");
73
+ result = result.replace(SPACE_LIKE_RE, " ");
74
+ for (const { pattern, replacement } of TYPOGRAPHY_REPLACEMENTS) result = result.replace(pattern, replacement);
75
+ if (collapseSpaces) result = result.replace(MULTIPLE_SPACES_RE, " ").trim();
76
+ return result;
77
+ }
78
+ //#endregion
79
+ //#region src/formatting/preserved-terms.generated.ts
80
+ /**
81
+ * GENERATED FILE — do not edit, run `npm run generate:terms`.
82
+ *
83
+ * Source: @cspell/dict-companies + @cspell/dict-software-terms, filtered
84
+ * through the `dictionary-en` ambiguity check (see
85
+ * scripts/generate-preserved-terms.ts for the full pipeline).
86
+ *
87
+ * Candidates before ambiguity filter: 3053
88
+ * Excluded as ambiguous (lowercase form is a common English word): 516
89
+ * Kept: 2512
90
+ *
91
+ * Examples of ambiguity exclusions:
92
+ * ADMIN -> "admin" (computing-acronyms.txt)
93
+ * DB -> "db" (computing-acronyms.txt)
94
+ * DRAM -> "dram" (computing-acronyms.txt)
95
+ * RAM -> "ram" (computing-acronyms.txt)
96
+ * REF -> "ref" (computing-acronyms.txt)
97
+ * UHF -> "uhf" (computing-acronyms.txt)
98
+ * WAN -> "wan" (computing-acronyms.txt)
99
+ * ZIP -> "zip" (computing-acronyms.txt)
100
+ * A -> "a" (companies.txt)
101
+ * AD -> "ad" (companies.txt)
102
+ * AT -> "at" (companies.txt)
103
+ * Adobe -> "adobe" (companies.txt)
104
+ */
105
+ const GENERATED_PRESERVED_TERMS = [
106
+ "2GIS",
107
+ "3M",
108
+ "AAA",
109
+ "AAAI",
110
+ "Aachen",
111
+ "Aalto",
112
+ "AAPL",
113
+ "Aarhus",
114
+ "ABB",
115
+ "Abbott",
116
+ "ABBV",
117
+ "AbbVie",
118
+ "ABBYY",
119
+ "Abdulaziz",
120
+ "Abdullah",
121
+ "Aberdeen",
122
+ "ABIOMED",
123
+ "Abios",
124
+ "AbiosGaming",
125
+ "ABMD",
126
+ "ABNF",
127
+ "Accenture",
128
+ "ACFS",
129
+ "Ackermann",
130
+ "ACM",
131
+ "ACS",
132
+ "Activision",
133
+ "ADBE",
134
+ "Adblock",
135
+ "Adecco",
136
+ "Adelaide",
137
+ "AdGuard",
138
+ "ADI",
139
+ "Adidas",
140
+ "ADOT",
141
+ "ADSK",
142
+ "Adsterra",
143
+ "Advanced",
144
+ "AECOM",
145
+ "Aegon",
146
+ "AEON",
147
+ "AES",
148
+ "AES128",
149
+ "Aetna",
150
+ "Aeva",
151
+ "Affero",
152
+ "AFLAC",
153
+ "Agari",
154
+ "AGCO",
155
+ "agentLess",
156
+ "Agilent",
157
+ "Agricole",
158
+ "Ahold",
159
+ "AICPA",
160
+ "Airbnb",
161
+ "Aires",
162
+ "Airgas",
163
+ "Airlines",
164
+ "Airways",
165
+ "Aisin",
166
+ "AK",
167
+ "AKAM",
168
+ "Akamai",
169
+ "Alaska",
170
+ "Albemarle",
171
+ "Alberta",
172
+ "Alcoa",
173
+ "Aldi",
174
+ "Alexandria",
175
+ "Alfresa",
176
+ "ALGN",
177
+ "Alipay",
178
+ "AlixPartners",
179
+ "ALLE",
180
+ "Alleghany",
181
+ "Allegion",
182
+ "Allen",
183
+ "Allergan",
184
+ "Alliant",
185
+ "Allianz",
186
+ "Allstate",
187
+ "Alstom",
188
+ "Altri",
189
+ "Altria",
190
+ "AMAT",
191
+ "Ambientia",
192
+ "Amcor",
193
+ "AMCR",
194
+ "Ameren",
195
+ "America",
196
+ "American",
197
+ "Ameriprise",
198
+ "AmerisourceBergen",
199
+ "AMETEK",
200
+ "Amgen",
201
+ "AMGN",
202
+ "Amherst",
203
+ "Amphenol",
204
+ "AMR",
205
+ "Amsterdam",
206
+ "Amtrack",
207
+ "AMZN",
208
+ "Anadarko",
209
+ "Analytics",
210
+ "Andersons",
211
+ "Andes",
212
+ "Andrews",
213
+ "ANET",
214
+ "Anglo",
215
+ "Anheuser-Busch",
216
+ "Anixter",
217
+ "ANSS",
218
+ "Ansteel",
219
+ "ANSYS",
220
+ "ANTM",
221
+ "Antwerp",
222
+ "Aon",
223
+ "Apache",
224
+ "Apartments",
225
+ "Appetize",
226
+ "Applied",
227
+ "Appointedd",
228
+ "Aprilia",
229
+ "Aptiv",
230
+ "APTV",
231
+ "Aramark",
232
+ "ArcelorMittal",
233
+ "Archer-Daniels-Midland",
234
+ "Argentaria",
235
+ "Arista",
236
+ "Arize",
237
+ "Arizona",
238
+ "Armour",
239
+ "ARNES",
240
+ "Arthur",
241
+ "Arts",
242
+ "arXiv",
243
+ "Asana",
244
+ "Asbury",
245
+ "Ashland",
246
+ "ASLR",
247
+ "Assicurazioni",
248
+ "Associates",
249
+ "Assurances",
250
+ "Assurant",
251
+ "Aston",
252
+ "AstraZeneca",
253
+ "ATAPI",
254
+ "Atlassian",
255
+ "Atmos",
256
+ "ATVI",
257
+ "Auchan",
258
+ "Auckland",
259
+ "Audi",
260
+ "Austin",
261
+ "Australia",
262
+ "Australian",
263
+ "Auto-Owners",
264
+ "autoClose",
265
+ "Autodesk",
266
+ "Autoliv",
267
+ "autoLoader",
268
+ "Automattic",
269
+ "autoMock",
270
+ "autoMocking",
271
+ "autoMocks",
272
+ "AutoNation",
273
+ "autoScroll",
274
+ "autoSpy",
275
+ "AutoZone",
276
+ "AvalonBay",
277
+ "Avery",
278
+ "AVGO",
279
+ "Avis",
280
+ "Avito",
281
+ "Aviv",
282
+ "Aviva",
283
+ "Avnet",
284
+ "Avon",
285
+ "AXA",
286
+ "azureCR",
287
+ "azureRM",
288
+ "azureTools",
289
+ "azureWebsites",
290
+ "Baden-Wurttemberg",
291
+ "BAE",
292
+ "Bahls",
293
+ "Bahn",
294
+ "Bakeries",
295
+ "Baltimore",
296
+ "Banco",
297
+ "Bancorp",
298
+ "Bancshares",
299
+ "Bandung",
300
+ "Bangalore",
301
+ "Bankengruppe",
302
+ "Bankin",
303
+ "Banks",
304
+ "Baosteel",
305
+ "Barbara",
306
+ "Barcelona",
307
+ "Barclays",
308
+ "Barnes",
309
+ "baseAddress",
310
+ "Basecamp",
311
+ "Basel",
312
+ "baseNode",
313
+ "baseObj",
314
+ "basePath",
315
+ "basePtr",
316
+ "BASF",
317
+ "Bauman",
318
+ "Baxter",
319
+ "Bayer",
320
+ "Bazaarvoice",
321
+ "BB",
322
+ "Becton",
323
+ "Beihang",
324
+ "Beijing",
325
+ "Beirut",
326
+ "Belarusian",
327
+ "Belfast",
328
+ "Bemis",
329
+ "Ben",
330
+ "Benefits",
331
+ "Bentley",
332
+ "Bergen",
333
+ "Berkeley",
334
+ "Berkley",
335
+ "Berksfile",
336
+ "Berkshire",
337
+ "Berlin",
338
+ "Bern",
339
+ "Bertelsmann",
340
+ "Bharat",
341
+ "BHP",
342
+ "BIIB",
343
+ "Bilbao",
344
+ "Billiton",
345
+ "Bing",
346
+ "Bio-Rad",
347
+ "Biogen",
348
+ "Biomet",
349
+ "Birmingham",
350
+ "bitCount",
351
+ "Bitly",
352
+ "Bitnami",
353
+ "Bitrate",
354
+ "bitSize",
355
+ "Bjango",
356
+ "BKNG",
357
+ "BlackRock",
358
+ "Blackstone",
359
+ "blahBlah",
360
+ "Bloomberg",
361
+ "Bloomreach",
362
+ "Bluesky",
363
+ "Blueway",
364
+ "BMW",
365
+ "BNP",
366
+ "Boeing",
367
+ "BOM",
368
+ "Bombay",
369
+ "Bonn",
370
+ "Boots",
371
+ "Booz",
372
+ "BorgWarner",
373
+ "Bosch",
374
+ "Boston",
375
+ "bottomLeft",
376
+ "bottomRight",
377
+ "Bouygues",
378
+ "BP",
379
+ "BPCE",
380
+ "Bradesco",
381
+ "Brands",
382
+ "Brandwatch",
383
+ "Brasil",
384
+ "Brazilian",
385
+ "Brewblox",
386
+ "Bridgestone",
387
+ "Bridgewater",
388
+ "Bristol",
389
+ "Bristol-Myers",
390
+ "British",
391
+ "BRK",
392
+ "Broadcom",
393
+ "Broadridge",
394
+ "Brown-Forman",
395
+ "browserConfig",
396
+ "Bruijn",
397
+ "Brunei",
398
+ "Brunswick",
399
+ "Brussels",
400
+ "bSize",
401
+ "BSON",
402
+ "BT",
403
+ "BTN",
404
+ "BTNS",
405
+ "Buenos",
406
+ "bufIndex",
407
+ "bufSize",
408
+ "Bugatti",
409
+ "buildFolder",
410
+ "Bunge",
411
+ "Bunnings",
412
+ "BYOD",
413
+ "bzFile",
414
+ "bzipFile",
415
+ "Cablevision",
416
+ "Cabot",
417
+ "Cadillac",
418
+ "Caesars",
419
+ "Calendly",
420
+ "Calgary",
421
+ "California",
422
+ "Calpine",
423
+ "Caltech",
424
+ "Caltex",
425
+ "Cambridge",
426
+ "Camerfirma",
427
+ "Cameron",
428
+ "Campbell",
429
+ "Camunda",
430
+ "Canada",
431
+ "Canterbury",
432
+ "Capgemini",
433
+ "Capnproto",
434
+ "Cardiff",
435
+ "Caremark",
436
+ "Caribbean",
437
+ "CarMax",
438
+ "Carnegie",
439
+ "Carolina",
440
+ "CARR",
441
+ "Carrefour",
442
+ "Casey's",
443
+ "Caskroom",
444
+ "Castparts",
445
+ "Catalent",
446
+ "categoryName",
447
+ "Cathay",
448
+ "Causely",
449
+ "CBOE",
450
+ "CBRE",
451
+ "CBS",
452
+ "CDATA",
453
+ "CDATASection",
454
+ "CDN",
455
+ "CDNS",
456
+ "CDW",
457
+ "Cegid",
458
+ "CEIP",
459
+ "Celanese",
460
+ "Celgene",
461
+ "Centene",
462
+ "CenterPoint",
463
+ "Centers",
464
+ "Centrica",
465
+ "CenturyLink",
466
+ "Cepton",
467
+ "CERN",
468
+ "Cerner",
469
+ "certId",
470
+ "certStore",
471
+ "Certum",
472
+ "CEST",
473
+ "CEVA",
474
+ "CFE",
475
+ "CFONB",
476
+ "CGA",
477
+ "CH2M",
478
+ "Chalmers",
479
+ "Chambersign",
480
+ "changeDir",
481
+ "changeList",
482
+ "changeLists",
483
+ "Charles",
484
+ "Chartered",
485
+ "ChefDK",
486
+ "ChemChina",
487
+ "Chemicals",
488
+ "Cheng",
489
+ "CHEP",
490
+ "Chesapeake",
491
+ "Chevrolet",
492
+ "Chicago",
493
+ "childNode",
494
+ "Chile",
495
+ "Chinese",
496
+ "Chipotle",
497
+ "Chocolately",
498
+ "Cholesky",
499
+ "Chronosphere",
500
+ "CHRW",
501
+ "Chrysler",
502
+ "CHS",
503
+ "CHTR",
504
+ "Chubb",
505
+ "Chubu",
506
+ "Chulalongkorn",
507
+ "CIGNA",
508
+ "Cincinnati",
509
+ "Cinemark",
510
+ "CINF",
511
+ "Cintas",
512
+ "Cisco",
513
+ "Citibank",
514
+ "CITIC",
515
+ "Citigroup",
516
+ "Citizens",
517
+ "Citrix",
518
+ "Citylink",
519
+ "classPath",
520
+ "Cliffs",
521
+ "Clojure",
522
+ "Clorox",
523
+ "Cloudflare",
524
+ "Cloudinary",
525
+ "CMCSA",
526
+ "CME",
527
+ "CMOS",
528
+ "CMS",
529
+ "CN",
530
+ "CNAME",
531
+ "CNCF",
532
+ "CNP",
533
+ "Coca-Cola",
534
+ "Codecentric",
535
+ "codeId",
536
+ "codeMirror",
537
+ "Codento",
538
+ "codePage",
539
+ "COFCO",
540
+ "CoffeeScript",
541
+ "Colgate-Palmolive",
542
+ "Collibra",
543
+ "Colombia",
544
+ "COLOPL",
545
+ "colorRef",
546
+ "Columbia",
547
+ "Comcast",
548
+ "Comerica",
549
+ "Commerzbank",
550
+ "Communications",
551
+ "Communities",
552
+ "Comodo",
553
+ "Compal",
554
+ "Companies",
555
+ "Complutense",
556
+ "componentManager",
557
+ "COMPUTERNAME",
558
+ "Con-way",
559
+ "ConAgra",
560
+ "Concho",
561
+ "ConocoPhillips",
562
+ "CONSOL",
563
+ "containerName",
564
+ "Controls",
565
+ "Coors",
566
+ "Copart",
567
+ "Copenhagen",
568
+ "Coralogix",
569
+ "Core-Mark",
570
+ "CorePack",
571
+ "Cornell",
572
+ "Corning",
573
+ "Corteva",
574
+ "Cosmo",
575
+ "Costco",
576
+ "Coursera",
577
+ "CPC",
578
+ "CPRT",
579
+ "CQRS",
580
+ "CRD",
581
+ "Creations",
582
+ "Credly",
583
+ "CRH",
584
+ "Criteo",
585
+ "crossSite",
586
+ "Crowdin",
587
+ "CSAIL",
588
+ "CSAT",
589
+ "CSCO",
590
+ "CSRF",
591
+ "CST",
592
+ "csvLine",
593
+ "CSX",
594
+ "CTAS",
595
+ "CTL",
596
+ "CTLT",
597
+ "CTSH",
598
+ "CTVA",
599
+ "CTXS",
600
+ "Cummins",
601
+ "curLoc",
602
+ "Curtin",
603
+ "customDomain",
604
+ "cValue",
605
+ "cVar",
606
+ "cVars",
607
+ "CVE",
608
+ "CVS",
609
+ "CWE",
610
+ "CyberTrust",
611
+ "Cybozu",
612
+ "Dachser",
613
+ "Dai-ichi",
614
+ "Daimler",
615
+ "Daiwa",
616
+ "DAL",
617
+ "Dana",
618
+ "Danaher",
619
+ "Daniels",
620
+ "Danone",
621
+ "Darden",
622
+ "Darmstadt",
623
+ "Dartmouth",
624
+ "Darussalam",
625
+ "DAST",
626
+ "Databricks",
627
+ "dataCenter",
628
+ "dataCenters",
629
+ "Datadog",
630
+ "dataFile",
631
+ "Datanami",
632
+ "Datang",
633
+ "dateInterval",
634
+ "dateObject",
635
+ "dateTime",
636
+ "dateTimezone",
637
+ "datFile",
638
+ "Datorama",
639
+ "Davis",
640
+ "DaVita",
641
+ "DAWG",
642
+ "Dayjs",
643
+ "Dazs",
644
+ "DBaaS",
645
+ "DBAL",
646
+ "dbLog",
647
+ "DBs",
648
+ "DCs",
649
+ "DDMMYY",
650
+ "DDOG",
651
+ "DDoS",
652
+ "DDR",
653
+ "DDTHH",
654
+ "Deakin",
655
+ "debugBreak",
656
+ "Decker",
657
+ "DeepScale",
658
+ "Deere",
659
+ "Delhaize",
660
+ "Delhi",
661
+ "Deloitte",
662
+ "Denki",
663
+ "Denmark",
664
+ "Dennison",
665
+ "Denso",
666
+ "Dentsply",
667
+ "Depot",
668
+ "Deutsche",
669
+ "Deutschland",
670
+ "DEV",
671
+ "devContainers",
672
+ "deviceId",
673
+ "deviceInfo",
674
+ "deviceIp",
675
+ "deviceName",
676
+ "Devices",
677
+ "Devon",
678
+ "DEVs",
679
+ "DexCom",
680
+ "Dexia",
681
+ "Dezzai",
682
+ "DFKI",
683
+ "Dick's",
684
+ "Dickinson",
685
+ "Diego",
686
+ "Digia",
687
+ "DigiCert",
688
+ "Dillard's",
689
+ "Dior",
690
+ "DirecTV",
691
+ "dirId",
692
+ "dirLen",
693
+ "dirPath",
694
+ "DISCA",
695
+ "DISCK",
696
+ "Disney",
697
+ "DLTR",
698
+ "DocBlock",
699
+ "docId",
700
+ "docSearch",
701
+ "Docusaurus",
702
+ "docUtil",
703
+ "docUtils",
704
+ "DOM",
705
+ "Domino's",
706
+ "Domtar",
707
+ "Dongfeng",
708
+ "Donnelley",
709
+ "DOS",
710
+ "dotNET",
711
+ "Douyin",
712
+ "Dover",
713
+ "Dow",
714
+ "downloadFile",
715
+ "downloadFolder",
716
+ "downloadId",
717
+ "dPad",
718
+ "Dr",
719
+ "Dresden",
720
+ "driveInfo",
721
+ "driveName",
722
+ "DRM",
723
+ "dSize",
724
+ "DSNU",
725
+ "dstFile",
726
+ "dstStream",
727
+ "DTE",
728
+ "Dublin",
729
+ "Ducati",
730
+ "DuPont",
731
+ "Durham",
732
+ "dValue",
733
+ "Dwight",
734
+ "DXC",
735
+ "DXCM",
736
+ "Dynatrace",
737
+ "Dyno",
738
+ "EADS",
739
+ "eAPI",
740
+ "Eastman",
741
+ "Eaton",
742
+ "eBPF",
743
+ "ECDHE",
744
+ "ECDSA",
745
+ "ECMA",
746
+ "Ecolab",
747
+ "Ecole",
748
+ "Ecopetrol",
749
+ "Edeka",
750
+ "Edinburgh",
751
+ "Edison",
752
+ "Edwards",
753
+ "EET",
754
+ "EGA",
755
+ "Egnyte",
756
+ "Eindhoven",
757
+ "Electricite",
758
+ "Eleuther",
759
+ "Elfsight",
760
+ "Eli",
761
+ "EMC",
762
+ "EMCOR",
763
+ "Emerson",
764
+ "Emojipedia",
765
+ "Emory",
766
+ "endScroll",
767
+ "endUnless",
768
+ "Enel",
769
+ "Energie",
770
+ "ENI",
771
+ "Entergy",
772
+ "Enterprises",
773
+ "entryName",
774
+ "Environnement",
775
+ "EOG",
776
+ "EOL",
777
+ "EOLs",
778
+ "EPFL",
779
+ "EPYC",
780
+ "EQIX",
781
+ "Equifax",
782
+ "Equinix",
783
+ "Equities",
784
+ "Erasmus",
785
+ "Ericsson",
786
+ "Erie",
787
+ "errorCode",
788
+ "errorLog",
789
+ "errorLogs",
790
+ "ESA",
791
+ "eSignature",
792
+ "ESMTPS",
793
+ "ESNEXT",
794
+ "Esri",
795
+ "Essex",
796
+ "ETag",
797
+ "ETags",
798
+ "ETH",
799
+ "Ethereum",
800
+ "Etsy",
801
+ "Ettercap",
802
+ "Eurasian",
803
+ "Euris",
804
+ "eventLog",
805
+ "Everest",
806
+ "Evergy",
807
+ "Eversource",
808
+ "EVRG",
809
+ "Exelon",
810
+ "Exeter",
811
+ "Exherbo",
812
+ "EXOR",
813
+ "EXPD",
814
+ "EXPE",
815
+ "Expedia",
816
+ "Expeditors",
817
+ "Expensify",
818
+ "Experian",
819
+ "Exps",
820
+ "externalProject",
821
+ "Exts",
822
+ "Exxon",
823
+ "EY",
824
+ "F5",
825
+ "FaaS",
826
+ "Fabra",
827
+ "Facebook",
828
+ "Fannie",
829
+ "Fargo",
830
+ "Fastenal",
831
+ "FAW",
832
+ "FBHS",
833
+ "FCStone",
834
+ "featureId",
835
+ "featureStore",
836
+ "FedEx",
837
+ "Fenosa",
838
+ "Ferrari",
839
+ "FFIV",
840
+ "Figma",
841
+ "fileData",
842
+ "fileDir",
843
+ "fileExt",
844
+ "fileFolder",
845
+ "fileId",
846
+ "fileIdx",
847
+ "fileIndex",
848
+ "fileInfo",
849
+ "fileLen",
850
+ "fileLog",
851
+ "filePath",
852
+ "fileUtil",
853
+ "fileUtils",
854
+ "Finmeccanica",
855
+ "Fireblocks",
856
+ "FirstEnergy",
857
+ "Fiserv",
858
+ "FISV",
859
+ "FITB",
860
+ "FIXURL",
861
+ "Flattr",
862
+ "Flavors",
863
+ "FleetCor",
864
+ "Flextronics",
865
+ "Flickr",
866
+ "Flipkart",
867
+ "FLIR",
868
+ "Florida",
869
+ "Flowserve",
870
+ "Fluor",
871
+ "FMC",
872
+ "folderInfo",
873
+ "folderName",
874
+ "Foncire",
875
+ "Fonticons",
876
+ "Foods",
877
+ "Formosa",
878
+ "Fortinet",
879
+ "Fortive",
880
+ "FOXA",
881
+ "FPM",
882
+ "FQDNS",
883
+ "Fragrances",
884
+ "frameBuffer",
885
+ "France",
886
+ "France-KLM",
887
+ "Franklin",
888
+ "Franz",
889
+ "Freddie",
890
+ "Freeport-McMoRan",
891
+ "freeSpace",
892
+ "Freiburg",
893
+ "Freightlinx",
894
+ "Frenet",
895
+ "Fresenius",
896
+ "Freshworks",
897
+ "Fried",
898
+ "FTNT",
899
+ "Fudan",
900
+ "Fujifilm",
901
+ "Fujitsu",
902
+ "fullScreen",
903
+ "Futurice",
904
+ "fValue",
905
+ "Gadjah",
906
+ "Gallagher",
907
+ "Galway",
908
+ "gamePad",
909
+ "GameStop",
910
+ "Gannett",
911
+ "Garmin",
912
+ "Gartner",
913
+ "GasTerra",
914
+ "Gazprom",
915
+ "GCE",
916
+ "GCESD",
917
+ "GCM",
918
+ "GCP",
919
+ "GCS",
920
+ "GDF",
921
+ "GDPR",
922
+ "Gebruder",
923
+ "Geely",
924
+ "Gemfile",
925
+ "GEMM",
926
+ "Generale",
927
+ "Generali",
928
+ "Geneva",
929
+ "Genworth",
930
+ "George",
931
+ "Georgetown",
932
+ "Georgia",
933
+ "GeoTrust",
934
+ "getFont",
935
+ "getSel",
936
+ "Ghent",
937
+ "GICS",
938
+ "Gilead",
939
+ "Giphy",
940
+ "GitHub",
941
+ "GitLab",
942
+ "GLAPI",
943
+ "Glasgow",
944
+ "GlaxoSmithKline",
945
+ "Glencore",
946
+ "GlobalSign",
947
+ "GmbH",
948
+ "GNSS",
949
+ "gnuLocaleDir",
950
+ "Gofore",
951
+ "Goldman",
952
+ "Goodyear",
953
+ "GOOG",
954
+ "GOOGL",
955
+ "Gothenburg",
956
+ "GP",
957
+ "GPIO",
958
+ "GPKG",
959
+ "Gradio",
960
+ "Grafana",
961
+ "Grainger",
962
+ "Grammarly",
963
+ "Graphcool",
964
+ "Graybar",
965
+ "Graz",
966
+ "Greenland",
967
+ "GRMN",
968
+ "Groningen",
969
+ "groupBox",
970
+ "Groupe",
971
+ "gRPC",
972
+ "Grumman",
973
+ "GS",
974
+ "GSM",
975
+ "GUI",
976
+ "GUID",
977
+ "GUIs",
978
+ "Guodian",
979
+ "Gwangju",
980
+ "gzFile",
981
+ "gzipFile",
982
+ "Hacktoberfest",
983
+ "Hai",
984
+ "Hallak",
985
+ "Halliburton",
986
+ "Hamilton",
987
+ "Hanesbrands",
988
+ "Haniel",
989
+ "Hanyang",
990
+ "Hapag-Lloyd",
991
+ "Harbin",
992
+ "Harley-Davidson",
993
+ "Harris",
994
+ "Hartford",
995
+ "Harvard",
996
+ "Hasbro",
997
+ "HashiCorp",
998
+ "Hathaway",
999
+ "HBAN",
1000
+ "hBrush",
1001
+ "HCA",
1002
+ "hCursor",
1003
+ "HD",
1004
+ "HDD",
1005
+ "HDMI",
1006
+ "Healthpeak",
1007
+ "HeBei",
1008
+ "Hebrew",
1009
+ "Hee",
1010
+ "Heidelberg",
1011
+ "Heineken",
1012
+ "Heinz",
1013
+ "helloWorld",
1014
+ "Helsinki",
1015
+ "Henan",
1016
+ "Henry",
1017
+ "Heptio",
1018
+ "Heraeus",
1019
+ "Heriot-Watt",
1020
+ "Hershey",
1021
+ "Hesai",
1022
+ "Hess",
1023
+ "Hetzner",
1024
+ "Hewlett",
1025
+ "Hewlett-Packard",
1026
+ "hFile",
1027
+ "HHMM",
1028
+ "hIcon",
1029
+ "Hilton",
1030
+ "Hindustan",
1031
+ "Hipercard",
1032
+ "Hitachi",
1033
+ "hKey",
1034
+ "hModule",
1035
+ "Hokkaido",
1036
+ "Holcim",
1037
+ "Holdings",
1038
+ "HollyFrontier",
1039
+ "Hologic",
1040
+ "HOLX",
1041
+ "HOMAG",
1042
+ "HOMEDRIVE",
1043
+ "HOMEPATH",
1044
+ "Honda",
1045
+ "Honeywell",
1046
+ "Hong",
1047
+ "Hopkins",
1048
+ "Hormel",
1049
+ "Horton",
1050
+ "Hotels",
1051
+ "Howmet",
1052
+ "howTo",
1053
+ "HPBW",
1054
+ "hrTime",
1055
+ "HSBC",
1056
+ "hScroll",
1057
+ "HSIC",
1058
+ "HSLA",
1059
+ "HSVA",
1060
+ "HTML",
1061
+ "HTTP",
1062
+ "HTTPS",
1063
+ "HTTPSD",
1064
+ "httpSocket",
1065
+ "httpUrl",
1066
+ "Hua",
1067
+ "Huadian",
1068
+ "Huaneng",
1069
+ "Huawei",
1070
+ "Huazhong",
1071
+ "HubSpot",
1072
+ "Hughes",
1073
+ "Hulu",
1074
+ "Humana",
1075
+ "Humboldt",
1076
+ "Hungarian",
1077
+ "Huntington",
1078
+ "Hutchison",
1079
+ "hWin",
1080
+ "hWnd",
1081
+ "Hyundai",
1082
+ "IANA",
1083
+ "Iberdrola",
1084
+ "Icahn",
1085
+ "ICCC",
1086
+ "iCloud",
1087
+ "ICLR",
1088
+ "iData",
1089
+ "Idealo",
1090
+ "Idean",
1091
+ "Idec",
1092
+ "Idemitsu",
1093
+ "IDEX",
1094
+ "Idexx",
1095
+ "IDXX",
1096
+ "IEEE",
1097
+ "IETF",
1098
+ "IHS",
1099
+ "IKEA",
1100
+ "Illinois",
1101
+ "Illumina",
1102
+ "ILMN",
1103
+ "imageSize",
1104
+ "Imgix",
1105
+ "Imgur",
1106
+ "Imperva",
1107
+ "importLib",
1108
+ "INAP",
1109
+ "InBev",
1110
+ "inBuffer",
1111
+ "Income",
1112
+ "INCY",
1113
+ "Incyte",
1114
+ "indexFile",
1115
+ "India",
1116
+ "Indian",
1117
+ "Indonesia",
1118
+ "Industries",
1119
+ "Ineos",
1120
+ "Infisical",
1121
+ "Infomaniak",
1122
+ "Infosys",
1123
+ "ING",
1124
+ "Ingalls",
1125
+ "Ingersoll",
1126
+ "Ingram",
1127
+ "Ingredion",
1128
+ "Initializers",
1129
+ "Innovations",
1130
+ "Innoviz",
1131
+ "Ins",
1132
+ "Instagram",
1133
+ "instanceDir",
1134
+ "Instruments",
1135
+ "Int'l",
1136
+ "INTC",
1137
+ "Integrated",
1138
+ "Integrys",
1139
+ "Interpublic",
1140
+ "intervalObj",
1141
+ "Intesa",
1142
+ "INTL",
1143
+ "INTU",
1144
+ "Invesco",
1145
+ "IOUtil",
1146
+ "IP",
1147
+ "IPG",
1148
+ "IPGP",
1149
+ "ipNet",
1150
+ "iPos",
1151
+ "IQVIA",
1152
+ "Ireland",
1153
+ "IRSA",
1154
+ "Irvine",
1155
+ "isArray",
1156
+ "isCallable",
1157
+ "isDisabled",
1158
+ "ISEA",
1159
+ "isEmpty",
1160
+ "isObject",
1161
+ "Isovalent",
1162
+ "ISRG",
1163
+ "isStr",
1164
+ "isString",
1165
+ "IssueHunt",
1166
+ "issueId",
1167
+ "isUnDef",
1168
+ "Italia",
1169
+ "Italiane",
1170
+ "Itanium",
1171
+ "Itausa-Investimentos",
1172
+ "itemId",
1173
+ "Itochu",
1174
+ "Iubenda",
1175
+ "iVal",
1176
+ "Jabil",
1177
+ "Jacobs",
1178
+ "Jagiellonian",
1179
+ "James",
1180
+ "Jarden",
1181
+ "Jardine",
1182
+ "JavaScript",
1183
+ "JavaScriptReact",
1184
+ "JBHT",
1185
+ "JBoss",
1186
+ "JBS",
1187
+ "JDBC",
1188
+ "Jekylling",
1189
+ "Jekyllrb",
1190
+ "Jemmic",
1191
+ "Jerry's",
1192
+ "JetBlue",
1193
+ "Jetifier",
1194
+ "JFE",
1195
+ "JFrog",
1196
+ "Jiangsu",
1197
+ "Jiaotong",
1198
+ "Jizhong",
1199
+ "JKHY",
1200
+ "JM",
1201
+ "JNPR",
1202
+ "Johns",
1203
+ "Johnson",
1204
+ "Jones",
1205
+ "Joyent",
1206
+ "JPDC",
1207
+ "JPMorgan",
1208
+ "jPos",
1209
+ "JSON",
1210
+ "JSONLD",
1211
+ "JSTOR",
1212
+ "Jude",
1213
+ "Jupyter",
1214
+ "jVal",
1215
+ "JWK",
1216
+ "JWKS",
1217
+ "JWT",
1218
+ "JX",
1219
+ "Kabbage",
1220
+ "Kabushiki",
1221
+ "Kailuan",
1222
+ "Kaisha",
1223
+ "Kalgin",
1224
+ "Kanpur",
1225
+ "Kansai",
1226
+ "Kansas",
1227
+ "Karlsruhe",
1228
+ "Kawasaki",
1229
+ "KBC",
1230
+ "KBR",
1231
+ "KDDI",
1232
+ "KEDA",
1233
+ "Keio",
1234
+ "Kellogg",
1235
+ "Kelly",
1236
+ "Kentucky",
1237
+ "Kerberos",
1238
+ "KeyCloak",
1239
+ "KeyCorp",
1240
+ "keyDown",
1241
+ "keyMenu",
1242
+ "keyOf",
1243
+ "KEYS",
1244
+ "Keysight",
1245
+ "keyVault",
1246
+ "KFC",
1247
+ "KFUPM",
1248
+ "KFW",
1249
+ "Khalifa",
1250
+ "Kia",
1251
+ "Kiewit",
1252
+ "Kimberly-Clark",
1253
+ "Kimco",
1254
+ "Kinder",
1255
+ "King's",
1256
+ "KKR",
1257
+ "KLA",
1258
+ "KLAC",
1259
+ "Knuth",
1260
+ "Ko-fi",
1261
+ "Kobe",
1262
+ "Kohl's",
1263
+ "Komatsu",
1264
+ "Konami",
1265
+ "Kong",
1266
+ "Koo",
1267
+ "Korea",
1268
+ "Kosan",
1269
+ "Kotlin",
1270
+ "KotlinScript",
1271
+ "KPMG",
1272
+ "kPos",
1273
+ "Kraft",
1274
+ "Kragpur",
1275
+ "Kramdown",
1276
+ "Kroger",
1277
+ "KTM",
1278
+ "KU",
1279
+ "Kuehne",
1280
+ "KUKA",
1281
+ "Kung",
1282
+ "KupiVIP",
1283
+ "Kuula",
1284
+ "kVal",
1285
+ "kvCopy",
1286
+ "kvPair",
1287
+ "Kyoto",
1288
+ "Kyung",
1289
+ "Kyushu",
1290
+ "L-3",
1291
+ "L'Oreal",
1292
+ "L3Harris",
1293
+ "Laboratories",
1294
+ "Labs",
1295
+ "Lafarge",
1296
+ "Lamborghini",
1297
+ "Lamoda",
1298
+ "Lancaster",
1299
+ "Lancia",
1300
+ "Landesbank",
1301
+ "Langfuse",
1302
+ "Langtrace",
1303
+ "Las",
1304
+ "Lastfm",
1305
+ "Lauder",
1306
+ "Lauren",
1307
+ "Lausanne",
1308
+ "lButton",
1309
+ "LDOS",
1310
+ "Lear",
1311
+ "Leaseweb",
1312
+ "LEDDAR",
1313
+ "Leeds",
1314
+ "Leggett",
1315
+ "Lego",
1316
+ "Leica",
1317
+ "Leicester",
1318
+ "Leiden",
1319
+ "Leidos",
1320
+ "Leishen",
1321
+ "Lennar",
1322
+ "Lenovo",
1323
+ "Letterboxd",
1324
+ "Leucadia",
1325
+ "Leuven",
1326
+ "Levenshtein",
1327
+ "Levis",
1328
+ "LexisNexis",
1329
+ "Lexus",
1330
+ "LHS",
1331
+ "Liatrio",
1332
+ "libATA",
1333
+ "libDir",
1334
+ "libDirs",
1335
+ "Liberapay",
1336
+ "Librato",
1337
+ "Lidl",
1338
+ "Lifesciences",
1339
+ "Lightstep",
1340
+ "Lilly",
1341
+ "Lincoln",
1342
+ "Linde",
1343
+ "lineDown",
1344
+ "Lines",
1345
+ "LinkCode",
1346
+ "LinkedIn",
1347
+ "linkName",
1348
+ "linkRef",
1349
+ "Liverpool",
1350
+ "Livox",
1351
+ "LKQ",
1352
+ "LLC",
1353
+ "Lloyds",
1354
+ "LOCALEDIR",
1355
+ "localeInfo",
1356
+ "localStorage",
1357
+ "Lockheed",
1358
+ "Loews",
1359
+ "Logitech",
1360
+ "Logz",
1361
+ "Lomonosov",
1362
+ "London",
1363
+ "LONGLONG",
1364
+ "Lonza",
1365
+ "LoongArch",
1366
+ "Loongson",
1367
+ "Lorillard",
1368
+ "Los",
1369
+ "LOSCAM",
1370
+ "Lots",
1371
+ "Loughborough",
1372
+ "Louis",
1373
+ "Lovatt",
1374
+ "Lowe's",
1375
+ "LP",
1376
+ "lParam",
1377
+ "lpBuffer",
1378
+ "lpctStr",
1379
+ "lpDWord",
1380
+ "LPSTR",
1381
+ "lptStr",
1382
+ "lpVoid",
1383
+ "lpWord",
1384
+ "LRCX",
1385
+ "lResult",
1386
+ "lSize",
1387
+ "LSM",
1388
+ "LTS",
1389
+ "LTSV",
1390
+ "Lufthansa",
1391
+ "Lukoil",
1392
+ "Lumibird",
1393
+ "Luminar",
1394
+ "Lumitics",
1395
+ "Lund",
1396
+ "Lunr",
1397
+ "Lutherans",
1398
+ "lVar",
1399
+ "lVars",
1400
+ "LXC",
1401
+ "Lyft",
1402
+ "Lyon",
1403
+ "LyondellBasell",
1404
+ "Maastricht",
1405
+ "Machines",
1406
+ "macOS",
1407
+ "Macquarie",
1408
+ "Macy's",
1409
+ "Mada",
1410
+ "Madrid",
1411
+ "Mae",
1412
+ "Maersk",
1413
+ "Magna",
1414
+ "Mahalanobis",
1415
+ "Mahidol",
1416
+ "Mailchimp",
1417
+ "Malaya",
1418
+ "Malaysia",
1419
+ "Manchester",
1420
+ "ManpowerGroup",
1421
+ "Manulife",
1422
+ "Mapfre",
1423
+ "Marietta",
1424
+ "MarketAxess",
1425
+ "Markets",
1426
+ "Markit",
1427
+ "Marquard",
1428
+ "Marriott",
1429
+ "Marubeni",
1430
+ "Maruhan",
1431
+ "Mary",
1432
+ "Maryland",
1433
+ "Masco",
1434
+ "Maserati",
1435
+ "Massachusetts",
1436
+ "Massey",
1437
+ "MasterCard",
1438
+ "Materials",
1439
+ "Matheson",
1440
+ "Matomo",
1441
+ "Mattel",
1442
+ "Mattermost",
1443
+ "maxCPUs",
1444
+ "Mazda",
1445
+ "mButton",
1446
+ "McCormick",
1447
+ "McDonald's",
1448
+ "McGill",
1449
+ "McGraw",
1450
+ "MCHP",
1451
+ "McKesson",
1452
+ "McLaren",
1453
+ "McLennan",
1454
+ "McMaster",
1455
+ "MDLZ",
1456
+ "MeadWestvaco",
1457
+ "Medco",
1458
+ "MediaWiki",
1459
+ "Medipal",
1460
+ "Medtronic",
1461
+ "Meiji",
1462
+ "Melanox",
1463
+ "Melbourne",
1464
+ "Mellon",
1465
+ "MemDB",
1466
+ "Mendeley",
1467
+ "Mercari",
1468
+ "Mercedes",
1469
+ "Mercedes-Benz",
1470
+ "MERCHANTABILITY",
1471
+ "Merchants",
1472
+ "Merck",
1473
+ "messageId",
1474
+ "messageIds",
1475
+ "messageList",
1476
+ "Metals",
1477
+ "MetLife",
1478
+ "Mettler",
1479
+ "Mexican",
1480
+ "Mexico",
1481
+ "MGM",
1482
+ "Miami",
1483
+ "Michelin",
1484
+ "Michigan",
1485
+ "Microsoft",
1486
+ "Mid-America",
1487
+ "Midjourney",
1488
+ "Migros",
1489
+ "Milano",
1490
+ "Mills",
1491
+ "Minecraft",
1492
+ "Ming",
1493
+ "minMaxInfo",
1494
+ "Minmetals",
1495
+ "Minnesota",
1496
+ "Mirantis",
1497
+ "MITM",
1498
+ "Mitsubishi",
1499
+ "Mitsui",
1500
+ "Mixpanel",
1501
+ "Mizuho",
1502
+ "MKTX",
1503
+ "MLP",
1504
+ "MMDDYY",
1505
+ "MMDDYYYY",
1506
+ "MNST",
1507
+ "Mobil",
1508
+ "Mobis",
1509
+ "mockFile",
1510
+ "mockFn",
1511
+ "mockFunction",
1512
+ "Mockito",
1513
+ "mockPath",
1514
+ "Mohawk",
1515
+ "Mol",
1516
+ "Molina",
1517
+ "Moller-Maersk",
1518
+ "Molson",
1519
+ "Monash",
1520
+ "Mondelez",
1521
+ "Mondiale",
1522
+ "Mondoo",
1523
+ "Mongo",
1524
+ "Monsanto",
1525
+ "Monterey",
1526
+ "Montreal",
1527
+ "Moody's",
1528
+ "Moore's",
1529
+ "Moovit",
1530
+ "Morgan",
1531
+ "Morris",
1532
+ "Morrison",
1533
+ "Moscow",
1534
+ "Motorola",
1535
+ "Motors",
1536
+ "Mouseflow",
1537
+ "mouseWheel",
1538
+ "Movil",
1539
+ "Mozilla",
1540
+ "MRC",
1541
+ "MS",
1542
+ "MSCI",
1543
+ "MSFT",
1544
+ "msgList",
1545
+ "MSSQLSERVER",
1546
+ "multiLog",
1547
+ "multiPath",
1548
+ "Munich",
1549
+ "Murphy",
1550
+ "Musixmatch",
1551
+ "MXIM",
1552
+ "Myer",
1553
+ "Mylan",
1554
+ "Nagel",
1555
+ "Nagoya",
1556
+ "Nanjing",
1557
+ "Nanyang",
1558
+ "Napatech",
1559
+ "Narrowable",
1560
+ "Narrowables",
1561
+ "Nasdaq",
1562
+ "Nava",
1563
+ "Navarra",
1564
+ "Naver",
1565
+ "Navistar",
1566
+ "NCLH",
1567
+ "NCR",
1568
+ "NDA",
1569
+ "NDAQ",
1570
+ "NDJSON",
1571
+ "NEC",
1572
+ "Nederlanden",
1573
+ "Nemours",
1574
+ "NetApp",
1575
+ "Netflix",
1576
+ "Netlify",
1577
+ "Networks",
1578
+ "Neuralink",
1579
+ "Newcastle",
1580
+ "NEWDATE",
1581
+ "NEWDECIMAL",
1582
+ "newDir",
1583
+ "Newell",
1584
+ "newFile",
1585
+ "newId",
1586
+ "Newmont",
1587
+ "Nextel",
1588
+ "NextEra",
1589
+ "nextIdx",
1590
+ "nFile",
1591
+ "NFLX",
1592
+ "Nginx",
1593
+ "Nginxinc",
1594
+ "Nielsen",
1595
+ "NII",
1596
+ "Nijmegen",
1597
+ "Nike",
1598
+ "Nikto",
1599
+ "Nintendo",
1600
+ "Nippon",
1601
+ "NiSource",
1602
+ "Nissan",
1603
+ "NIST",
1604
+ "Nitor",
1605
+ "nKey",
1606
+ "NKSJ",
1607
+ "NLOK",
1608
+ "NLSN",
1609
+ "noCookie",
1610
+ "nodeMap",
1611
+ "NodeNext",
1612
+ "nodeObj",
1613
+ "nodeP",
1614
+ "nodePtr",
1615
+ "Nokia",
1616
+ "Nomura",
1617
+ "nonStatic",
1618
+ "Nordcloud",
1619
+ "Nordea",
1620
+ "Nordstrom",
1621
+ "NordVPN",
1622
+ "NOREF",
1623
+ "NoReply",
1624
+ "Norfolk",
1625
+ "Normale",
1626
+ "Northrop",
1627
+ "NortonLifeLock",
1628
+ "Norwegian",
1629
+ "noSlash",
1630
+ "NOSQL",
1631
+ "notArray",
1632
+ "NOTFOUND",
1633
+ "notObject",
1634
+ "Notre",
1635
+ "Nottingham",
1636
+ "Novartis",
1637
+ "Novell",
1638
+ "Novosibirsk",
1639
+ "NRG",
1640
+ "NTAP",
1641
+ "NTRS",
1642
+ "Nubity",
1643
+ "Nucor",
1644
+ "Nullable",
1645
+ "Nullables",
1646
+ "Nullsoft",
1647
+ "NVDA",
1648
+ "Nvidia",
1649
+ "NVR",
1650
+ "NWSA",
1651
+ "NYSE",
1652
+ "O'Lakes",
1653
+ "O'Reilly",
1654
+ "Oaktree",
1655
+ "OAuthLib",
1656
+ "objectId",
1657
+ "ObservIQ",
1658
+ "ODBC",
1659
+ "ODFL",
1660
+ "Ohio",
1661
+ "OIDC",
1662
+ "Oilwell",
1663
+ "okCancel",
1664
+ "Okta",
1665
+ "OLAP",
1666
+ "oldFile",
1667
+ "OleDLL",
1668
+ "Olly",
1669
+ "OLM",
1670
+ "OLTP",
1671
+ "Omaha",
1672
+ "Omnicare",
1673
+ "Omnicom",
1674
+ "Omnition",
1675
+ "OMV",
1676
+ "oneOf",
1677
+ "ONEOK",
1678
+ "Onex",
1679
+ "Ontario",
1680
+ "OOBE",
1681
+ "OOCL",
1682
+ "OOTB",
1683
+ "Opel",
1684
+ "OpenAI",
1685
+ "Openbase",
1686
+ "OpenDNS",
1687
+ "OpenID",
1688
+ "OpenTelemetry",
1689
+ "Opscode",
1690
+ "ORCL",
1691
+ "orderId",
1692
+ "ORLEN",
1693
+ "ORLY",
1694
+ "ORM",
1695
+ "OSA",
1696
+ "Osaka",
1697
+ "OSDI",
1698
+ "Oshkosh",
1699
+ "OSINT",
1700
+ "Oslo",
1701
+ "OSS",
1702
+ "OSTIF",
1703
+ "Otago",
1704
+ "Otechie",
1705
+ "OTIS",
1706
+ "OTL",
1707
+ "OTLP",
1708
+ "Ottawa",
1709
+ "OU",
1710
+ "outBuffer",
1711
+ "outDir",
1712
+ "Outreachy",
1713
+ "OWASP",
1714
+ "Owens",
1715
+ "Owens-Illinois",
1716
+ "Oy",
1717
+ "Ozforex",
1718
+ "Ozon",
1719
+ "PACCAR",
1720
+ "Packard",
1721
+ "Padova",
1722
+ "pageData",
1723
+ "PagerDuty",
1724
+ "pageView",
1725
+ "pageViews",
1726
+ "Palantir",
1727
+ "Paludis",
1728
+ "Panasonic",
1729
+ "Panner",
1730
+ "Papaki",
1731
+ "PARCO",
1732
+ "parentNode",
1733
+ "Paribas",
1734
+ "Paris",
1735
+ "Parker-Hannifin",
1736
+ "Partners",
1737
+ "Parts",
1738
+ "Patreon",
1739
+ "Paulo",
1740
+ "Paxos",
1741
+ "PAYC",
1742
+ "Paychex",
1743
+ "Paycom",
1744
+ "Paylocity",
1745
+ "Payments",
1746
+ "PayPal",
1747
+ "PAYX",
1748
+ "PBCT",
1749
+ "PBF",
1750
+ "pBuf",
1751
+ "pBuffer",
1752
+ "PCAP",
1753
+ "PCAPNG",
1754
+ "PCAR",
1755
+ "pcFileDir",
1756
+ "pConnection",
1757
+ "PCTL",
1758
+ "PDVSA",
1759
+ "Peabody",
1760
+ "Pemex",
1761
+ "Penh",
1762
+ "Penn",
1763
+ "Penney",
1764
+ "Pennsylvania",
1765
+ "Penske",
1766
+ "Pentair",
1767
+ "Penteston",
1768
+ "People's",
1769
+ "Pepsi",
1770
+ "PepsiCo",
1771
+ "Percona",
1772
+ "PerkinElmer",
1773
+ "Perrigo",
1774
+ "Petersburg",
1775
+ "Petrobras",
1776
+ "Petronas",
1777
+ "PetSmart",
1778
+ "Peugeot",
1779
+ "pFile",
1780
+ "Pfizer",
1781
+ "Pharmaceuticals",
1782
+ "Pharmahandel",
1783
+ "Philip",
1784
+ "Philips",
1785
+ "Phillips",
1786
+ "Phnom",
1787
+ "Photonics",
1788
+ "PHPs",
1789
+ "Pingdom",
1790
+ "Pinterest",
1791
+ "Pioneering",
1792
+ "Pittsburgh",
1793
+ "Pixar",
1794
+ "PKCS",
1795
+ "PKGDATADIR",
1796
+ "PKN",
1797
+ "Plains",
1798
+ "Plans",
1799
+ "Platt",
1800
+ "PLC",
1801
+ "Plex",
1802
+ "PLSQL",
1803
+ "PNC",
1804
+ "Po",
1805
+ "Pohang",
1806
+ "POJO",
1807
+ "POJOs",
1808
+ "Politecnico",
1809
+ "Pompeu",
1810
+ "Pont",
1811
+ "Porsche",
1812
+ "Portainer",
1813
+ "Porto",
1814
+ "POSCO",
1815
+ "POSIX",
1816
+ "postCondition",
1817
+ "Poste",
1818
+ "Postgres",
1819
+ "PPG",
1820
+ "PPL",
1821
+ "Prague",
1822
+ "Praxair",
1823
+ "Precommit",
1824
+ "Preformat",
1825
+ "prevIdx",
1826
+ "PRGO",
1827
+ "Priceline",
1828
+ "Princeton",
1829
+ "printName",
1830
+ "Prisma",
1831
+ "PRNU",
1832
+ "processId",
1833
+ "Processing",
1834
+ "procId",
1835
+ "Procter",
1836
+ "Products",
1837
+ "projectId",
1838
+ "Prologis",
1839
+ "PromQL",
1840
+ "Properties",
1841
+ "Protobuf",
1842
+ "Protobufs",
1843
+ "Proxmox",
1844
+ "PSEG",
1845
+ "PSP",
1846
+ "PSTR",
1847
+ "PTT",
1848
+ "Pty",
1849
+ "Publix",
1850
+ "PulteGroup",
1851
+ "Purdue",
1852
+ "Putra",
1853
+ "pVar",
1854
+ "PVH",
1855
+ "PwC",
1856
+ "PYPL",
1857
+ "Qatar",
1858
+ "QCOM",
1859
+ "Qorvo",
1860
+ "QRVO",
1861
+ "QUALCOMM",
1862
+ "Quanergy",
1863
+ "Queen's",
1864
+ "Queensland",
1865
+ "QuesmaOrg",
1866
+ "Quintiles",
1867
+ "QuoVadis",
1868
+ "Rabobank",
1869
+ "Rackspace",
1870
+ "Ralph",
1871
+ "Randstad",
1872
+ "Raymond",
1873
+ "Raytheon",
1874
+ "rayTrace",
1875
+ "rayTracing",
1876
+ "Razorpay",
1877
+ "RBS",
1878
+ "rButton",
1879
+ "RDP",
1880
+ "Reachability",
1881
+ "readDir",
1882
+ "readError",
1883
+ "readErrorLog",
1884
+ "readErrorLogs",
1885
+ "readErrors",
1886
+ "readFile",
1887
+ "Reaktor",
1888
+ "Realogy",
1889
+ "Rebrandly",
1890
+ "Recv",
1891
+ "Redbud",
1892
+ "Reddit",
1893
+ "Reddit's",
1894
+ "RedHat",
1895
+ "refCount",
1896
+ "refCounting",
1897
+ "referenceCounting",
1898
+ "Refining",
1899
+ "REFLEX",
1900
+ "refNum",
1901
+ "REFs",
1902
+ "refVal",
1903
+ "refValue",
1904
+ "Regeneron",
1905
+ "Regions",
1906
+ "REGN",
1907
+ "regRead",
1908
+ "relDate",
1909
+ "relDateTime",
1910
+ "Relex",
1911
+ "relTime",
1912
+ "Renault",
1913
+ "Rentals",
1914
+ "repoRoot",
1915
+ "Repsol",
1916
+ "Research",
1917
+ "Reserve",
1918
+ "ResMed",
1919
+ "ResNet",
1920
+ "Resorts",
1921
+ "Resources",
1922
+ "Responsys",
1923
+ "Restaurants",
1924
+ "retryCancel",
1925
+ "Revolut",
1926
+ "Reynolds",
1927
+ "RGBIR",
1928
+ "RHS",
1929
+ "Ricoh",
1930
+ "RIEGL",
1931
+ "RIMAS",
1932
+ "Rio",
1933
+ "RMIT",
1934
+ "Robert",
1935
+ "Robinson",
1936
+ "Roblox",
1937
+ "Roche",
1938
+ "Rochester",
1939
+ "Rock-Tenn",
1940
+ "Rockwell",
1941
+ "Rohlig",
1942
+ "rollDown",
1943
+ "Rollins",
1944
+ "Rolls",
1945
+ "Rome",
1946
+ "Rosneft",
1947
+ "Ross",
1948
+ "ROST",
1949
+ "Rotterdam",
1950
+ "Rowe",
1951
+ "rowId",
1952
+ "Royce",
1953
+ "RPATH",
1954
+ "RPC",
1955
+ "RPCs",
1956
+ "RSA",
1957
+ "rSize",
1958
+ "Rubbermaid",
1959
+ "Russia",
1960
+ "Rutgers",
1961
+ "Ruuvi",
1962
+ "RWE",
1963
+ "RWTH",
1964
+ "Ryder",
1965
+ "S-Oil",
1966
+ "Saab",
1967
+ "SaaS",
1968
+ "Sabic",
1969
+ "Sachs",
1970
+ "Safeway",
1971
+ "SAIC",
1972
+ "Sainsbury",
1973
+ "Saint-Gobain",
1974
+ "Sales",
1975
+ "Salesforce",
1976
+ "sameSite",
1977
+ "Samsung",
1978
+ "San",
1979
+ "SanDisk",
1980
+ "Sands",
1981
+ "Sanmina",
1982
+ "Sanofi",
1983
+ "Sanpaolo",
1984
+ "Santa",
1985
+ "Santander",
1986
+ "Sao",
1987
+ "SAST",
1988
+ "SATA",
1989
+ "Saud",
1990
+ "SBA",
1991
+ "SBAC",
1992
+ "Sberbank",
1993
+ "SBOM",
1994
+ "SBUX",
1995
+ "SCADA",
1996
+ "Schein",
1997
+ "schemeId",
1998
+ "Schenker",
1999
+ "Schlumberger",
2000
+ "Schneider",
2001
+ "SCHW",
2002
+ "Schwab",
2003
+ "Sciences",
2004
+ "Scotia",
2005
+ "Scotland",
2006
+ "screenShare",
2007
+ "Scripts",
2008
+ "scrollInfo",
2009
+ "SDRAM",
2010
+ "SE",
2011
+ "Seagate",
2012
+ "Sealed",
2013
+ "Sears",
2014
+ "securityLevel",
2015
+ "Seiki",
2016
+ "Sekiyu",
2017
+ "Semilux",
2018
+ "Semmle",
2019
+ "Sempra",
2020
+ "Sencha",
2021
+ "Sensedia",
2022
+ "Seoul",
2023
+ "Serret",
2024
+ "ServiceNow",
2025
+ "Services",
2026
+ "setAffinity",
2027
+ "setEnv",
2028
+ "setFont",
2029
+ "setRedraw",
2030
+ "setSel",
2031
+ "setText",
2032
+ "SHA256",
2033
+ "Shagang",
2034
+ "Shandong",
2035
+ "Shanxi",
2036
+ "Sheffield",
2037
+ "Shenhua",
2038
+ "Sherwin-Williams",
2039
+ "Shopify",
2040
+ "Shougang",
2041
+ "Showa",
2042
+ "SHV",
2043
+ "sideEffect",
2044
+ "Siemens",
2045
+ "SIGHUP",
2046
+ "SIGINT",
2047
+ "SIGKDD",
2048
+ "SIGKILL",
2049
+ "signOff",
2050
+ "SIGQUIT",
2051
+ "SIGTERM",
2052
+ "SigV4",
2053
+ "SigV4A",
2054
+ "Silae",
2055
+ "Silicom",
2056
+ "SIMD",
2057
+ "Simon",
2058
+ "Singapore",
2059
+ "SinnerSchrader",
2060
+ "Sinochem",
2061
+ "Sinomach",
2062
+ "Sinopec",
2063
+ "Sirona",
2064
+ "Sismology",
2065
+ "Sistema",
2066
+ "SIVB",
2067
+ "SK",
2068
+ "Skaffold",
2069
+ "Skoda",
2070
+ "Skyworks",
2071
+ "SL",
2072
+ "SLA",
2073
+ "sLen",
2074
+ "Slevomat",
2075
+ "SLI",
2076
+ "Slimpay",
2077
+ "SLM",
2078
+ "SLO",
2079
+ "slotId",
2080
+ "Smania",
2081
+ "Smarkets",
2082
+ "SmartyStreets",
2083
+ "Smithfield",
2084
+ "Smucker",
2085
+ "Snap-on",
2086
+ "Snapchat",
2087
+ "Snapple",
2088
+ "SNCF",
2089
+ "SNPS",
2090
+ "Snyk",
2091
+ "Societe",
2092
+ "socketId",
2093
+ "Sodexo",
2094
+ "Softbank",
2095
+ "SoftLayer",
2096
+ "Solaris",
2097
+ "SolarWinds",
2098
+ "Solita",
2099
+ "Solr",
2100
+ "Solutions",
2101
+ "someHost",
2102
+ "Sonera",
2103
+ "Sons",
2104
+ "Sony",
2105
+ "Sorbonne",
2106
+ "sourceIdx",
2107
+ "sourceMap",
2108
+ "sourceMaps",
2109
+ "Southampton",
2110
+ "SpaceX",
2111
+ "Sparc",
2112
+ "SPDX",
2113
+ "SPGI",
2114
+ "Spirent",
2115
+ "Spotify",
2116
+ "SQL",
2117
+ "SQRL",
2118
+ "SquashFS",
2119
+ "Squibb",
2120
+ "SRAM",
2121
+ "srcDir",
2122
+ "srcFile",
2123
+ "srcFolder",
2124
+ "srcStream",
2125
+ "SSD",
2126
+ "SSE",
2127
+ "SSID",
2128
+ "SSP",
2129
+ "SSRF",
2130
+ "Staat",
2131
+ "Stanford",
2132
+ "Stanley",
2133
+ "Staples",
2134
+ "Starbucks",
2135
+ "Starfield",
2136
+ "Starwood",
2137
+ "States",
2138
+ "staticFile",
2139
+ "Staticman",
2140
+ "Staticman's",
2141
+ "Stationers",
2142
+ "Statoil",
2143
+ "stdCall",
2144
+ "stdWin",
2145
+ "Steelers",
2146
+ "Stellantis",
2147
+ "STERIS",
2148
+ "Stimulsoft",
2149
+ "Stockholm",
2150
+ "Stores",
2151
+ "strLen",
2152
+ "Stryker",
2153
+ "Subaru",
2154
+ "subDirective",
2155
+ "subDirectives",
2156
+ "Suez",
2157
+ "Suisse",
2158
+ "Sumitomo",
2159
+ "Suncor",
2160
+ "Sungkyunkwan",
2161
+ "Sunoco",
2162
+ "SunTrust",
2163
+ "Supercomputing",
2164
+ "Superfeedr",
2165
+ "Supermarkets",
2166
+ "Supervalu",
2167
+ "Surgutneftegas",
2168
+ "SUSE",
2169
+ "sUser",
2170
+ "Susser",
2171
+ "Sussex",
2172
+ "Suzuken",
2173
+ "Suzuki",
2174
+ "SVB",
2175
+ "Svc",
2176
+ "SVGA",
2177
+ "SwedenCentral",
2178
+ "Swiftype",
2179
+ "Swinburne",
2180
+ "Swiss",
2181
+ "Swisscom",
2182
+ "SWKS",
2183
+ "Swyftx",
2184
+ "Sydney",
2185
+ "Symantec",
2186
+ "Synnex",
2187
+ "Synopsys",
2188
+ "Sysco",
2189
+ "sysError",
2190
+ "sysKeyDown",
2191
+ "sysRoot",
2192
+ "sysRoots",
2193
+ "Systems",
2194
+ "T-Mobile",
2195
+ "Taiwan",
2196
+ "Take-Two",
2197
+ "tarFile",
2198
+ "Targa",
2199
+ "Tartu",
2200
+ "Tata",
2201
+ "Taylor's",
2202
+ "tBody",
2203
+ "tChar",
2204
+ "tCol",
2205
+ "TCP",
2206
+ "tDiff",
2207
+ "TE",
2208
+ "TechnipFMC",
2209
+ "Technologies",
2210
+ "TechRadar",
2211
+ "Telecom",
2212
+ "Teledyne",
2213
+ "Teleflex",
2214
+ "Telefonica",
2215
+ "Telekom",
2216
+ "Telia",
2217
+ "Telstra",
2218
+ "Tencent",
2219
+ "Tenneco",
2220
+ "Teradyne",
2221
+ "Terex",
2222
+ "Tesco",
2223
+ "Tesla",
2224
+ "Tesoro",
2225
+ "testEnv",
2226
+ "testFile",
2227
+ "testFiles",
2228
+ "testId",
2229
+ "testLog",
2230
+ "testLogs",
2231
+ "testMessage",
2232
+ "testMsg",
2233
+ "testParam",
2234
+ "testParams",
2235
+ "testSuite",
2236
+ "testSuites",
2237
+ "testVal",
2238
+ "testValue",
2239
+ "testVar",
2240
+ "Tewoo",
2241
+ "Texas",
2242
+ "texCoord",
2243
+ "texCoords",
2244
+ "textFile",
2245
+ "textFiles",
2246
+ "Textron",
2247
+ "tFoot",
2248
+ "Thanos",
2249
+ "tHead",
2250
+ "Theming",
2251
+ "Thermo",
2252
+ "Thrivent",
2253
+ "ThyssenKrupp",
2254
+ "TIAA-CREF",
2255
+ "Ticino",
2256
+ "Tidelift",
2257
+ "Tieto",
2258
+ "Tiffany",
2259
+ "TikTok",
2260
+ "timeFrame",
2261
+ "timeFrames",
2262
+ "timeInterval",
2263
+ "timeStep",
2264
+ "timeSteps",
2265
+ "Tinto",
2266
+ "TJX",
2267
+ "tmpDir",
2268
+ "tmpFile",
2269
+ "tmpStr",
2270
+ "TMUS",
2271
+ "TNK-BP",
2272
+ "Todoist",
2273
+ "Tokio",
2274
+ "Tokyo",
2275
+ "Toledo",
2276
+ "Tomsk",
2277
+ "Tongji",
2278
+ "topLeft",
2279
+ "topRight",
2280
+ "Torchmark",
2281
+ "Toronto",
2282
+ "Toronto-Dominion",
2283
+ "Toshiba",
2284
+ "Towers",
2285
+ "Toyota",
2286
+ "Toys",
2287
+ "TPDS",
2288
+ "tPtr",
2289
+ "Traceloop",
2290
+ "Trakt",
2291
+ "Trane",
2292
+ "TransDigm",
2293
+ "Translogix",
2294
+ "TravelCenters",
2295
+ "Travelers",
2296
+ "Trimble",
2297
+ "Tripadvisor",
2298
+ "Truist",
2299
+ "TRW",
2300
+ "TSBuild",
2301
+ "TSBuildInfo",
2302
+ "TSCO",
2303
+ "TSDB",
2304
+ "Tsing",
2305
+ "Tsinghua",
2306
+ "tSize",
2307
+ "TSLA",
2308
+ "TSQL",
2309
+ "TTWO",
2310
+ "TUI",
2311
+ "Tumblr",
2312
+ "Turku",
2313
+ "tValue",
2314
+ "Twente",
2315
+ "Twenty-First",
2316
+ "Twilio",
2317
+ "TWTR",
2318
+ "Tyler",
2319
+ "TypeCheck",
2320
+ "Typedef",
2321
+ "TypeScriptReact",
2322
+ "Tyson",
2323
+ "tzId",
2324
+ "tzObj",
2325
+ "UAB",
2326
+ "UAE",
2327
+ "Uber",
2328
+ "UBS",
2329
+ "UC",
2330
+ "UCIM",
2331
+ "UCLA",
2332
+ "uCoord",
2333
+ "uCoords",
2334
+ "UCSI",
2335
+ "UCUM",
2336
+ "UDR",
2337
+ "UEFA",
2338
+ "UFJ",
2339
+ "UGent",
2340
+ "UGI",
2341
+ "UI",
2342
+ "ULTA",
2343
+ "Ultrapar",
2344
+ "unDef",
2345
+ "UniCredit",
2346
+ "Unilever",
2347
+ "uniqueId",
2348
+ "uniqueIdentifier",
2349
+ "UNIST",
2350
+ "United",
2351
+ "UnitedHealth",
2352
+ "Universiteit",
2353
+ "unixRoot",
2354
+ "unSetter",
2355
+ "Unsplash",
2356
+ "UNSW",
2357
+ "Unum",
2358
+ "Upcloud",
2359
+ "updateTimestamp",
2360
+ "uPos",
2361
+ "Uppsala",
2362
+ "Urbana-Champaign",
2363
+ "URS",
2364
+ "US",
2365
+ "USA",
2366
+ "USENIX",
2367
+ "userId",
2368
+ "Utilities",
2369
+ "UTP",
2370
+ "Utrecht",
2371
+ "UUID",
2372
+ "UUIDs",
2373
+ "uVal",
2374
+ "Vagrantfile",
2375
+ "Valarian",
2376
+ "Valeo",
2377
+ "Valero",
2378
+ "Vanderbilt",
2379
+ "Varco",
2380
+ "Variadic",
2381
+ "Varian",
2382
+ "Vasona",
2383
+ "Vattenfall",
2384
+ "vCursor",
2385
+ "vDSO",
2386
+ "Vegas",
2387
+ "Veikkaus",
2388
+ "Velodyne",
2389
+ "Ventas",
2390
+ "Veolia",
2391
+ "Verdaccio",
2392
+ "Verisec",
2393
+ "Verisign",
2394
+ "Verisk",
2395
+ "Verizon",
2396
+ "VF",
2397
+ "vFile",
2398
+ "VGA",
2399
+ "VGL",
2400
+ "VHS",
2401
+ "VIAC",
2402
+ "Viacom",
2403
+ "ViacomCBS",
2404
+ "Viber",
2405
+ "Victoria",
2406
+ "VictoriaMetrics",
2407
+ "Vienna",
2408
+ "Vimeo",
2409
+ "Vinci",
2410
+ "Vincit",
2411
+ "Virginia",
2412
+ "VirtualBox",
2413
+ "VirusTotal",
2414
+ "Visteon",
2415
+ "Visy",
2416
+ "Vivendi",
2417
+ "Vizcaya",
2418
+ "VLAN",
2419
+ "VLANs",
2420
+ "VLDB",
2421
+ "VMDK",
2422
+ "VMOMI",
2423
+ "VMware",
2424
+ "VMXNET",
2425
+ "VNC",
2426
+ "Vodafone",
2427
+ "Volkswagen",
2428
+ "Volvo",
2429
+ "Vornado",
2430
+ "VPN",
2431
+ "VPS",
2432
+ "VRAM",
2433
+ "VRSK",
2434
+ "VRSN",
2435
+ "VRTX",
2436
+ "VSAN",
2437
+ "vScroll",
2438
+ "vSphere",
2439
+ "vSwitch",
2440
+ "VTEX",
2441
+ "Vulcan",
2442
+ "Vulkan",
2443
+ "Vultr",
2444
+ "Vyatta",
2445
+ "W3C",
2446
+ "Wabtec",
2447
+ "Wacom",
2448
+ "Wageningen",
2449
+ "WAgent",
2450
+ "waitUntil",
2451
+ "Wal-Mart",
2452
+ "Walgreen",
2453
+ "Walgreens",
2454
+ "Walmart",
2455
+ "Walt",
2456
+ "WAP",
2457
+ "Warner",
2458
+ "Warsaw",
2459
+ "Warwick",
2460
+ "Waseda",
2461
+ "Washington",
2462
+ "Watchr",
2463
+ "Waterloo",
2464
+ "Watson",
2465
+ "Waze",
2466
+ "Weaviate",
2467
+ "Webex",
2468
+ "webIndex",
2469
+ "webIndexFile",
2470
+ "WebJS",
2471
+ "WEC",
2472
+ "Wedos",
2473
+ "Weiqiao",
2474
+ "Weiss",
2475
+ "WellCare",
2476
+ "WellPoint",
2477
+ "Wells",
2478
+ "Welltower",
2479
+ "WESCO",
2480
+ "Wesfarmers",
2481
+ "Westinghouse",
2482
+ "Westlake",
2483
+ "Weston",
2484
+ "Westpac",
2485
+ "WestRock",
2486
+ "Weyerhaeuser",
2487
+ "Whampoa",
2488
+ "WhatsApp",
2489
+ "widgetManager",
2490
+ "Wikidata",
2491
+ "Wikimedia",
2492
+ "Wikipedia",
2493
+ "Wiktionary",
2494
+ "Wildberries",
2495
+ "Williams",
2496
+ "Willis",
2497
+ "Wilmar",
2498
+ "WinDLL",
2499
+ "WindowsLogin",
2500
+ "Windstream",
2501
+ "WinNT",
2502
+ "WinOS",
2503
+ "WinRM",
2504
+ "WinRS",
2505
+ "WIPO",
2506
+ "Wisconsin-Madison",
2507
+ "WiseTech",
2508
+ "Wishart",
2509
+ "Wistron",
2510
+ "Wix",
2511
+ "WLTW",
2512
+ "Wm",
2513
+ "WMIC",
2514
+ "Wollongong",
2515
+ "Woolworths",
2516
+ "Woori",
2517
+ "WordPress",
2518
+ "workArea",
2519
+ "workDir",
2520
+ "workFolder",
2521
+ "worldGen",
2522
+ "WPAR",
2523
+ "wParam",
2524
+ "WPARs",
2525
+ "writeDir",
2526
+ "writeFile",
2527
+ "WSMan",
2528
+ "WSUS",
2529
+ "Wuhan",
2530
+ "WWAN",
2531
+ "WWW",
2532
+ "Wyndham",
2533
+ "WYNN",
2534
+ "WYSIWYG",
2535
+ "Xbox",
2536
+ "Xcel",
2537
+ "Xcode",
2538
+ "xCoord",
2539
+ "xCoords",
2540
+ "Xenial",
2541
+ "XFS",
2542
+ "Xi'an",
2543
+ "Xiaohongshu",
2544
+ "Xiaomi",
2545
+ "Xilinx",
2546
+ "XING",
2547
+ "Xinxing",
2548
+ "xKey",
2549
+ "XLNX",
2550
+ "xMax",
2551
+ "xMin",
2552
+ "XML",
2553
+ "XMLRPC",
2554
+ "xPos",
2555
+ "Xproto",
2556
+ "XRAY",
2557
+ "XSD",
2558
+ "XSRF",
2559
+ "Xstrata",
2560
+ "xVal",
2561
+ "Xware",
2562
+ "YAGNI",
2563
+ "Yale",
2564
+ "Yamada",
2565
+ "Yamaha",
2566
+ "Yandex",
2567
+ "Yassir",
2568
+ "Yasuda",
2569
+ "Yat-Sen",
2570
+ "yCoord",
2571
+ "yCoords",
2572
+ "yesNo",
2573
+ "Yext",
2574
+ "yKey",
2575
+ "Yleisradio",
2576
+ "yMax",
2577
+ "yMin",
2578
+ "Yonsei",
2579
+ "York",
2580
+ "YouTube",
2581
+ "YPF",
2582
+ "yPos",
2583
+ "Yusen",
2584
+ "yVal",
2585
+ "Zalando",
2586
+ "Zapier",
2587
+ "Zappos",
2588
+ "ZBRA",
2589
+ "zCoord",
2590
+ "zCoords",
2591
+ "Zealand",
2592
+ "ZEIT",
2593
+ "Zend",
2594
+ "Zentrale",
2595
+ "Zerodha",
2596
+ "ZFS",
2597
+ "Zhejiang",
2598
+ "Zhihu",
2599
+ "Ziggo",
2600
+ "Zillow",
2601
+ "Zimmer",
2602
+ "ZION",
2603
+ "Zions",
2604
+ "zipFile",
2605
+ "zKey",
2606
+ "zLog",
2607
+ "zMax",
2608
+ "zMin",
2609
+ "Zoetis",
2610
+ "Zoho",
2611
+ "ZPool",
2612
+ "ZPools",
2613
+ "zPos",
2614
+ "Zscaler",
2615
+ "Zuora",
2616
+ "Zurich",
2617
+ "zVal"
2618
+ ];
2619
+ //#endregion
2620
+ //#region src/formatting/to-sentence-case.ts
2621
+ /**
2622
+ * Normalize Title Case overuse (a common AI/marketing tic) back to sentence
2623
+ * case while preserving acronyms, mixed-case proper nouns, and the first word
2624
+ * of each sentence.
2625
+ *
2626
+ * The function is conservative: it only rewrites strings whose ratio of
2627
+ * capitalized words is high enough that the input is unambiguously in Title
2628
+ * Case. Normal prose with one or two proper nouns is left untouched.
2629
+ *
2630
+ * Philosophy (important, and the inverse of the naive approach): we only
2631
+ * lowercase a capitalized/ALL-CAPS token when we can positively confirm its
2632
+ * lowercase form is a real word — via the generated preserved-terms list, or
2633
+ * via an actual EN/FR spelling dictionary lookup (through `nspell`, which
2634
+ * expands Hunspell affixes, so inflected forms like "Published" or
2635
+ * "Reported" resolve correctly even though only their stems are dictionary
2636
+ * headwords). Anything we don't recognize is assumed to be a proper noun and
2637
+ * its original casing is preserved. This is deliberately asymmetric:
2638
+ * over-capitalizing a rare common word is a mild cosmetic miss, but
2639
+ * decapitalizing an unrecognized proper noun (a person, a place, a brand) is
2640
+ * an outright factual error. The old approach did the opposite — lowercase
2641
+ * by default, preserve only what's on an explicit allowlist — which
2642
+ * systematically mangled any proper noun the allowlist didn't happen to
2643
+ * cover.
2644
+ *
2645
+ * Known limitation: proper nouns whose lowercase homograph is a real
2646
+ * dictionary word get wrongly lowercased mid-sentence — e.g. "Macron"
2647
+ * ("macron" is an English word), "Musk" ("musk" is a fragrance note), "API"
2648
+ * ("api" is a dictionary-fr headword). Same class of ambiguity as "Apple"
2649
+ * the fruit vs. "Apple" the company; see the test suite for more cases.
2650
+ * Callers who need a specific term protected can pass it via
2651
+ * `preservedTerms`.
2652
+ *
2653
+ * Examples:
2654
+ * "Your Next AI Skill Is Worldbuilding" -> "Your next AI skill is Worldbuilding"
2655
+ * "How To Use The API For HTTP Calls" -> "How to use the API for HTTP calls"
2656
+ * "The OpenAI Revolution" -> "The OpenAI revolution"
2657
+ * "Macron Meets Zelensky In Kyiv" -> "Macron meets Zelensky in Kyiv" (see caveat above: "macron" collides with a real word, so it *does* get lowercased — see tests)
2658
+ * "Cursor: the compression of mechanical work" -> unchanged
2659
+ * "AI is making us smarter" -> unchanged
2660
+ */
2661
+ /**
2662
+ * Terms `npm run generate:terms` (see scripts/generate-preserved-terms.ts)
2663
+ * cannot derive from the cspell dictionaries, kept here by hand. Stays
2664
+ * short and deliberate on purpose:
2665
+ *
2666
+ * - 'I' — the pronoun is always capitalized in English. It's excluded from
2667
+ * the generated list because lowercase "i" is a genuine dictionary
2668
+ * headword (the math/code variable) in both EN and FR, so a plain
2669
+ * spelling-dictionary lookup would incorrectly lowercase it; this one
2670
+ * hardcoded linguistic rule overrides that.
2671
+ * - 'AI' — a real gap: dictionary-en does list uppercase "AI" as a valid
2672
+ * headword these days, but lowercase "ai" is *also* a genuine French verb
2673
+ * form ("j'ai" — I have). With French enabled by default, a plain
2674
+ * dictionary lookup on the lowercased token would find "ai" valid via
2675
+ * French and wrongly lowercase the acronym. The explicit preserved-term
2676
+ * entry (checked before any dictionary access) sidesteps the collision
2677
+ * entirely.
2678
+ * - 'OAuth' — not a dictionary headword in either language, so on its own
2679
+ * it would already survive mid-title via the "unrecognized -> preserve"
2680
+ * default. The entry earns its keep for input that doesn't already use
2681
+ * the canonical casing (e.g. "Oauth"), restoring it to "OAuth".
2682
+ *
2683
+ * Deliberately NOT re-added, even though they were in the old hardcoded
2684
+ * list and cspell doesn't source them either:
2685
+ * - 'Apple', 'Meta', 'Linear', 'Operator', 'Codex', 'Google', 'Slack',
2686
+ * 'Notion', 'Cursor', 'Amazon', 'Grok', 'TypeScript', 'Python', 'React'
2687
+ * — each collides with a genuine lowercase English dictionary word
2688
+ * (apple, meta, linear, operator, codex, google, slack, notion, cursor,
2689
+ * amazon, grok, typescript, python, react). Preserving them
2690
+ * unconditionally would wrongly force-capitalize the common word too;
2691
+ * the dictionary-lookup fallback applies the same ambiguity rule
2692
+ * automatically for terms that aren't hand- or cspell-listed.
2693
+ * - 'Node.js', 'Next.js' — can't be represented as a single preserved
2694
+ * term anyway: the tokenizer below splits on '.', so these would only
2695
+ * ever match a lone "Node"/"Next" token. Both "node" and "next" are
2696
+ * common dictionary words, so adding them would incorrectly preserve
2697
+ * ordinary title-case capitalization of unrelated sentences.
2698
+ * - 'iOS', 'macOS' — no longer needed. Both have an internal lower→upper
2699
+ * transition ("iOS", "macOS"), so the mixed-case heuristic (checked
2700
+ * before any dictionary access) already preserves them without an
2701
+ * explicit entry.
2702
+ */
2703
+ const MANUAL_PRESERVED_TERMS = [
2704
+ "I",
2705
+ "AI",
2706
+ "OAuth"
2707
+ ];
2708
+ const WORD_PATTERN = /(?<word>[\p{L}0-9']+)/u;
2709
+ const HAS_LOWER_THEN_UPPER = /\p{Ll}\p{Lu}/u;
2710
+ const HAS_UPPER = /\p{Lu}/u;
2711
+ const HAS_LOWER = /\p{Ll}/u;
2712
+ const HAS_LETTER = /\p{L}/u;
2713
+ const SENTENCE_END_PATTERN = /[.!?]/;
2714
+ const DICTIONARY_PACKAGE = {
2715
+ en: "dictionary-en",
2716
+ fr: "dictionary-fr"
2717
+ };
2718
+ /**
2719
+ * Lazily-built singleton map (lowercase -> canonical casing) for the
2720
+ * combined default preserved terms. Built once on first use and reused for
2721
+ * every call that doesn't ask to replace the defaults entirely.
2722
+ */
2723
+ let defaultPreservedMap = null;
2724
+ function getDefaultPreservedMap() {
2725
+ if (!defaultPreservedMap) {
2726
+ const map = /* @__PURE__ */ new Map();
2727
+ for (const term of GENERATED_PRESERVED_TERMS) map.set(term.toLowerCase(), term);
2728
+ for (const term of MANUAL_PRESERVED_TERMS) map.set(term.toLowerCase(), term);
2729
+ defaultPreservedMap = map;
2730
+ }
2731
+ return defaultPreservedMap;
2732
+ }
2733
+ /**
2734
+ * Lazily-constructed, per-language `nspell` singletons. Parsing a Hunspell
2735
+ * affix + dictionary file costs roughly 100-300ms, so an instance is only
2736
+ * ever built the first time a token *actually* requires a dictionary lookup
2737
+ * (never at module import, never at the first `toSentenceCase` call if that
2738
+ * call's tokens are all resolved by the cheaper fast paths first). Each
2739
+ * language is independent: a call that only uses `languages: ['en']` never
2740
+ * pays the French parsing cost, and vice versa.
2741
+ */
2742
+ const spellCheckers = /* @__PURE__ */ new Map();
2743
+ /**
2744
+ * `dictionary-en`/`dictionary-fr` ship an async default export (they read
2745
+ * their `.aff`/`.dic` files with `fs.promises.readFile` at import time), but
2746
+ * `toSentenceCase` must stay synchronous. We bypass their package entry
2747
+ * point entirely and read the underlying Hunspell data files ourselves with
2748
+ * a synchronous `readFileSync`, resolving the package directory via
2749
+ * `createRequire` (works from both the ESM and CJS build outputs).
2750
+ */
2751
+ const nodeRequire = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
2752
+ function loadSpellChecker(language) {
2753
+ const packageEntry = nodeRequire.resolve(DICTIONARY_PACKAGE[language]);
2754
+ const packageDir = node_path.default.dirname(packageEntry);
2755
+ return (0, nspell.default)({
2756
+ aff: (0, node_fs.readFileSync)(node_path.default.join(packageDir, "index.aff")),
2757
+ dic: (0, node_fs.readFileSync)(node_path.default.join(packageDir, "index.dic"))
2758
+ });
2759
+ }
2760
+ function getSpellChecker(language) {
2761
+ let checker = spellCheckers.get(language);
2762
+ if (!checker) {
2763
+ checker = loadSpellChecker(language);
2764
+ spellCheckers.set(language, checker);
2765
+ }
2766
+ return checker;
2767
+ }
2768
+ /**
2769
+ * Memoizes dictionary verdicts (`"<lang>\0<word>"` -> `correct(word)`) since
2770
+ * headline-style text repeats the same handful of words constantly. Bounded
2771
+ * to avoid unbounded growth across a long-running process; eviction is a
2772
+ * simple FIFO (oldest-inserted entry dropped first) rather than true LRU —
2773
+ * good enough for this access pattern and far cheaper to maintain.
2774
+ */
2775
+ const MAX_VERDICT_CACHE_ENTRIES = 1e4;
2776
+ const spellVerdictCache = /* @__PURE__ */ new Map();
2777
+ function isKnownSpelling(word, language) {
2778
+ const key = `${language}${word}`;
2779
+ const cached = spellVerdictCache.get(key);
2780
+ if (cached !== void 0) return cached;
2781
+ const verdict = getSpellChecker(language).correct(word);
2782
+ if (spellVerdictCache.size >= MAX_VERDICT_CACHE_ENTRIES) {
2783
+ const oldestKey = spellVerdictCache.keys().next().value;
2784
+ if (oldestKey !== void 0) spellVerdictCache.delete(oldestKey);
2785
+ }
2786
+ spellVerdictCache.set(key, verdict);
2787
+ return verdict;
2788
+ }
2789
+ /** Whether `word` is recognized (case-sensitively) by any of `languages`, checked in order. */
2790
+ function isKnownInAnyLanguage(word, languages) {
2791
+ for (const language of languages) if (isKnownSpelling(word, language)) return true;
2792
+ return false;
2793
+ }
2794
+ /**
2795
+ * Normalizes Title Case overuse back to sentence case.
2796
+ *
2797
+ * @param text - The text to normalize
2798
+ * @param options - Normalization options
2799
+ * @returns The normalized text, or the original text if it doesn't look like Title Case
2800
+ */
2801
+ function toSentenceCase(text, options = {}) {
2802
+ if (!text) return text;
2803
+ const localPreservedMap = /* @__PURE__ */ new Map();
2804
+ for (const term of options.preservedTerms ?? []) localPreservedMap.set(term.toLowerCase(), term);
2805
+ const defaultMap = options.replacePreserved ? null : getDefaultPreservedMap();
2806
+ const lookupPreserved = (lower) => localPreservedMap.get(lower) ?? defaultMap?.get(lower);
2807
+ const threshold = options.titleCaseThreshold ?? .6;
2808
+ const minWords = options.minWords ?? 3;
2809
+ const languages = options.languages ?? ["en", "fr"];
2810
+ const tokens = text.split(WORD_PATTERN);
2811
+ const wordTokens = tokens.filter((t) => WORD_PATTERN.test(t) && HAS_LETTER.test(t));
2812
+ if (wordTokens.length < minWords) return text;
2813
+ if (wordTokens.filter((t) => HAS_UPPER.test(t[0] ?? "")).length / wordTokens.length < threshold) return text;
2814
+ let isFirstWord = true;
2815
+ let nextStartsSentence = false;
2816
+ return tokens.map((tok) => {
2817
+ if (!WORD_PATTERN.test(tok) || !HAS_LETTER.test(tok)) {
2818
+ if (SENTENCE_END_PATTERN.test(tok)) nextStartsSentence = true;
2819
+ return tok;
2820
+ }
2821
+ const startsNewSentence = isFirstWord || nextStartsSentence;
2822
+ isFirstWord = false;
2823
+ nextStartsSentence = false;
2824
+ const preserved = lookupPreserved(tok.toLowerCase());
2825
+ if (preserved) return preserved;
2826
+ if (HAS_LOWER_THEN_UPPER.test(tok)) return tok;
2827
+ if (startsNewSentence) return tok[0].toUpperCase() + tok.slice(1).toLowerCase();
2828
+ if (!HAS_UPPER.test(tok)) return tok;
2829
+ if (!HAS_LOWER.test(tok) && tok.length >= 2) {
2830
+ const lower = tok.toLowerCase();
2831
+ if (isKnownInAnyLanguage(lower, languages)) return lower;
2832
+ const titleCased = tok[0] + tok.slice(1).toLowerCase();
2833
+ if (isKnownInAnyLanguage(titleCased, languages)) return titleCased;
2834
+ return tok;
2835
+ }
2836
+ const lower = tok.toLowerCase();
2837
+ if (isKnownInAnyLanguage(lower, languages)) return lower;
2838
+ return tok;
2839
+ }).join("");
2840
+ }
2841
+ //#endregion
2842
+ exports.cleanAiText = cleanAiText;
2843
+ exports.toSentenceCase = toSentenceCase;
2844
+
2845
+ //# sourceMappingURL=formatting.cjs.map