@danielhaim/titlecaser 1.7.13 → 1.7.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -38
- package/dist/titlecaser.amd.js +2 -2
- package/dist/titlecaser.esm.js +2 -2
- package/dist/titlecaser.module.js +2 -2
- package/package.json +1 -1
- package/src/TitleCaser.js +125 -57
package/README.md
CHANGED
|
@@ -17,21 +17,22 @@ A style-guide–aware title case engine for JavaScript that implements **AP**, *
|
|
|
17
17
|
- [CodePen Demo 2](https://codepen.io/danielhaim/pen/oNPGzKw)
|
|
18
18
|
- [Contributing](CONTRIBUTING.md)
|
|
19
19
|
- [Changelog](CHANGELOG.md)
|
|
20
|
+
- [License](LICENSE)
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
23
24
|
## Introduction
|
|
24
25
|
|
|
25
|
-
TitleCaser is a deterministic, style-guide–aware title casing engine built for production publishing systems. It implements major editorial standards with rule-driven capitalization logic, including acronym disambiguation,
|
|
26
|
+
TitleCaser is a deterministic, style-guide–aware title casing engine built for production publishing systems. It implements major editorial standards with rule-driven capitalization logic, including contextual acronym disambiguation, compound handling, possessive normalization, punctuation-aware processing, and curated domain vocabulary enforcement across marketing, academia, business, finance, geography, legal, defense, and technology.
|
|
26
27
|
|
|
27
|
-
Its multi-pass processing architecture ensures
|
|
28
|
+
Its multi-pass processing architecture ensures deterministic output while supporting custom overrides, exact phrase preservation, and controlled vocabulary enforcement. Designed for Node.js and browser environments, TitleCaser integrates cleanly into CMS pipelines, build systems, and automated editorial workflows where precision and repeatability are required.
|
|
28
29
|
|
|
29
30
|
---
|
|
30
31
|
|
|
31
32
|
## Key Features
|
|
32
33
|
|
|
33
34
|
### Multi-Style Editorial Engine
|
|
34
|
-
Built-in rule systems for **AP**, **APA**, **Chicago**, **NYT**, **Wikipedia** (sentence case), and **British** styles. Each style applies its own logic for minor words, hyphenated compounds, possessives, colon capitalization, and acronym handling, producing
|
|
35
|
+
Built-in rule systems for **AP**, **APA**, **Chicago**, **NYT**, **Wikipedia** (sentence case), and **British** styles. Each style applies its own logic for minor words, hyphenated compounds, possessives, colon capitalization, and acronym handling, producing consistent, repeatable output.
|
|
35
36
|
|
|
36
37
|
### Contextual Acronym & Pronoun Disambiguation
|
|
37
38
|
Distinguishes regional acronyms from identical lowercase words using positional and surrounding-word heuristics.
|
|
@@ -53,7 +54,7 @@ For example:
|
|
|
53
54
|
- Avoids false positives inside longer words
|
|
54
55
|
|
|
55
56
|
### Structured Vocabulary Normalization
|
|
56
|
-
Includes **1,000+ curated
|
|
57
|
+
Includes **1,000+ curated normalization rules** across brands, technology, geography, business, marketing, defense, academia, finance, and legal domains.
|
|
57
58
|
|
|
58
59
|
- Mixed-case normalization (`GOOGle → Google`)
|
|
59
60
|
- Intentional lowercase brands (`iPhone`, `eBay`)
|
|
@@ -77,6 +78,7 @@ Intelligent processing of hyphenated compounds with style-specific rules:
|
|
|
77
78
|
Layered multi-pass processing for stable handling of complex inputs:
|
|
78
79
|
|
|
79
80
|
- Input normalization (spacing and `<br>` handling)
|
|
81
|
+
- Token-based whitespace-preserving transformation pipeline
|
|
80
82
|
- Style-aware casing pass
|
|
81
83
|
- Acronym resolution pass
|
|
82
84
|
- Short-word correction pass
|
|
@@ -85,12 +87,13 @@ Layered multi-pass processing for stable handling of complex inputs:
|
|
|
85
87
|
- Exact phrase override pass
|
|
86
88
|
|
|
87
89
|
### HTML-Safe & CMS-Ready
|
|
88
|
-
Designed for integration into publishing workflows, CMS pipelines, and automated
|
|
90
|
+
Designed for integration into publishing workflows, CMS pipelines, and automated editorial systems.
|
|
89
91
|
|
|
90
92
|
- Preserves `<br>` tags
|
|
91
93
|
- Normalizes spacing around colon + `<br>`
|
|
92
94
|
- Retains ampersands and symbols
|
|
93
95
|
- Handles excessive whitespace safely
|
|
96
|
+
- Optional whitespace preservation for editor-safe real-time usage
|
|
94
97
|
|
|
95
98
|
### Runtime & Build Support
|
|
96
99
|
The AMD/browser build extends `String.prototype.toTitleCase()` for direct string usage in client environments.
|
|
@@ -118,6 +121,8 @@ titleCaser.toTitleCase('nodejs development on aws'); // → "Node.js Development
|
|
|
118
121
|
titleCaser.toTitleCase('let us know about the us military'); // → "Let Us Know About the US Military"
|
|
119
122
|
```
|
|
120
123
|
|
|
124
|
+
---
|
|
125
|
+
|
|
121
126
|
## Core Usage
|
|
122
127
|
|
|
123
128
|
### Editorial-Grade Transformation (AP Example)
|
|
@@ -158,6 +163,37 @@ const tc = new TitleCaser({
|
|
|
158
163
|
tc.toTitleCase('"never underestimate the power o\' persistence,"'); // → “Never Underestimate the Power O’ Persistence,”
|
|
159
164
|
```
|
|
160
165
|
|
|
166
|
+
### Whitespace Normalization
|
|
167
|
+
|
|
168
|
+
Whitespace normalization is enabled by default.
|
|
169
|
+
|
|
170
|
+
By default, TitleCaser collapses consecutive whitespace and trims leading and trailing spaces:
|
|
171
|
+
|
|
172
|
+
```javascript
|
|
173
|
+
const tc = new TitleCaser({ style: "ap" });
|
|
174
|
+
|
|
175
|
+
tc.toTitleCase(" the quick brown fox "); // → "The Quick Brown Fox"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
For real-time editors or environments where spacing must be preserved, disable normalization:
|
|
179
|
+
|
|
180
|
+
```javascript
|
|
181
|
+
const tc = new TitleCaser({
|
|
182
|
+
style: "ap",
|
|
183
|
+
normalizeWhitespace: false
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
tc.toTitleCase(" the quick brown fox "); // → " The Quick Brown Fox "
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
When normalizeWhitespace is false:
|
|
190
|
+
- Internal spacing is preserved
|
|
191
|
+
- Leading/trailing whitespace is preserved
|
|
192
|
+
- Newlines and tabs are preserved
|
|
193
|
+
- Only letter casing is transformed
|
|
194
|
+
|
|
195
|
+
This behavior allows safe integration into real-time editors without unexpected trimming or cursor instability when normalization is disabled (see [Issue #17](https://github.com/danielhaim1/TitleCaser/issues/17) for discussion).
|
|
196
|
+
|
|
161
197
|
### Browser Usage
|
|
162
198
|
```html
|
|
163
199
|
<script src="./path/to/TitleCaser.amd.js"></script>
|
|
@@ -207,8 +243,7 @@ new TitleCaser(options)
|
|
|
207
243
|
| `neverCapitalize` | string[] | `[]` | Additional words that should remain lowercase (merged with style defaults) |
|
|
208
244
|
| `wordReplacementsList` | object[] | internal defaults | Array of `{ 'term': 'replacement' }` objects used for term normalization |
|
|
209
245
|
| `debug` | boolean | `false` | Enables internal warning logs during processing |
|
|
210
|
-
|
|
211
|
-
---
|
|
246
|
+
| `normalizeWhitespace` | boolean | `true` | Collapses consecutive whitespace and trims leading/trailing whitespace. Set to `false` to preserve original spacing (editor-safe mode). |
|
|
212
247
|
|
|
213
248
|
### Methods
|
|
214
249
|
|
|
@@ -246,40 +281,10 @@ titleCaser.addExactPhraseReplacements([
|
|
|
246
281
|
#### setStyle(style)
|
|
247
282
|
```javascript
|
|
248
283
|
titleCaser.setStyle('chicago');
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## Architecture
|
|
254
|
-
TitleCaser is structured into three main components:
|
|
255
|
-
|
|
256
|
-
- `TitleCaser.js` — Public API
|
|
257
|
-
- `TitleCaserConsts.js` — Style rules and data sets
|
|
258
|
-
- `TitleCaserUtils.js` — Processing and normalization engine
|
|
259
|
-
|
|
260
|
-
## Data Sets
|
|
261
|
-
Curated structured term libraries power normalization:
|
|
262
|
-
|
|
263
|
-
- Brand and trademarks
|
|
264
|
-
- Business, finance, and legal terminology
|
|
265
|
-
- E-commerce and digital terms
|
|
266
|
-
- Global geography
|
|
267
|
-
- Marketing and media terms
|
|
268
|
-
- Defense and geopolitical terminology
|
|
269
|
-
- Technology and computing concepts
|
|
270
|
-
- Academic and temporal terminology
|
|
284
|
+
```
|
|
271
285
|
|
|
272
286
|
---
|
|
273
287
|
|
|
274
|
-
## Build Process
|
|
275
|
-
|
|
276
|
-
```bash
|
|
277
|
-
npm run build-package
|
|
278
|
-
npm run build-docs
|
|
279
|
-
npm run copy-package-to-docs
|
|
280
|
-
npm run test
|
|
281
|
-
```
|
|
282
|
-
|
|
283
288
|
## Test Coverage
|
|
284
289
|
|
|
285
290
|
```bash
|
|
@@ -292,6 +297,8 @@ npm run test
|
|
|
292
297
|
- Hyphenation edge cases
|
|
293
298
|
- Brand normalization
|
|
294
299
|
|
|
300
|
+
---
|
|
301
|
+
|
|
295
302
|
## Resources
|
|
296
303
|
|
|
297
304
|
Useful materials for improving your knowledge of writing and language style guides. These resources include various books and manuals, such as the Publication Manual of the American Psychological Association, the Chicago Manual of Style, and the AP Stylebook, which are widely recognized as authoritative sources on grammar, punctuation, and capitalization rules.
|
|
@@ -305,20 +312,28 @@ Useful materials for improving your knowledge of writing and language style guid
|
|
|
305
312
|
- [Wikipedia: Letter case](https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Capital_letters)
|
|
306
313
|
- [Wikipedia:Manual of Style/Titles of works](https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Titles_of_works#Capital_letters)
|
|
307
314
|
|
|
315
|
+
---
|
|
316
|
+
|
|
308
317
|
## Report Bugs
|
|
309
318
|
|
|
310
319
|
If you encounter any bugs or issues while using the library or the demo page, please report them by opening a new issue in the repository's issue tracker.
|
|
311
320
|
|
|
312
321
|
When reporting a bug, please provide as much detail as possible, including the steps to reproduce the issue and any error messages that you see. I appreciate any contribution to improving this library.
|
|
313
322
|
|
|
323
|
+
---
|
|
324
|
+
|
|
314
325
|
## Contributing
|
|
315
326
|
|
|
316
327
|
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
|
|
317
328
|
|
|
329
|
+
---
|
|
330
|
+
|
|
318
331
|
## License
|
|
319
332
|
|
|
320
333
|
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
|
321
334
|
|
|
335
|
+
---
|
|
336
|
+
|
|
322
337
|
## Changelog
|
|
323
338
|
|
|
324
339
|
See [CHANGELOG.md](CHANGELOG.md) for a list of changes and version history.
|
package/dist/titlecaser.amd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @danielhaim/titlecaser - v1.7.
|
|
2
|
+
* @danielhaim/titlecaser - v1.7.14 - 2026-02-17
|
|
3
3
|
* https://github.com/danielhaim1/titlecaser.git
|
|
4
4
|
* Copyright (c) 2026 Daniel Haim, Licensed Apache-2.0
|
|
5
|
-
*/(()=>{var e={987(e,t,r){var n,a;n=[t,r(388)],void 0===(a=function(e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TitleCaser",{enumerable:!0,get:function(){return r.TitleCaser}}),t.default=void 0,void 0===String.prototype.toTitleCase&&(String.prototype.toTitleCase=function(e){return new r.TitleCaser(e).toTitleCase(this)}),"undefined"!=typeof window&&window.document&&(window.TitleCaser=r.TitleCaser);t.default=r.TitleCaser}.apply(t,n))||(e.exports=a)},388(e,t,r){var n,a;n=[t,r(416),r(279)],a=function(e,r,n){"use strict";function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||s(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaser=void 0;t.TitleCaser=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t,this.debug=t.debug||!1,this.wordReplacementsList=r.wordReplacementsList,this.phraseReplacementMap=r.phraseReplacementMap}return t=e,l=[{key:"shouldKeepCasing",value:function(e,t){return!!n.TitleCaserUtils.isRegionalAcronym(e)||!!n.TitleCaserUtils.hasUppercaseIntentional(e)||!!n.TitleCaserUtils.isWordInArray(e,t)}}],(s=[{key:"logWarning",value:function(e){this.debug&&console.warn("Warning: ".concat(e))}},{key:"toTitleCase",value:function(t){var a=this;try{if(0===t.trim().length)throw new TypeError("Invalid input: input must not be empty.");if("string"!=typeof t)throw new TypeError("Invalid input: input must be a string.");if(t.length>1e5)throw new TypeError("Invalid input: input exceeds maximum length of 100,000 characters.");if(void 0!==this.options&&"object"!==u(this.options))throw new TypeError("Invalid options: options must be an object.");var s=this.options,l=s.style,c=void 0===l?"ap":l,p=s.neverCapitalize,d=void 0===p?[]:p,y=s.wordReplacementsList,f=void 0===y?this.wordReplacementsList:y,m=s.smartQuotes,g=void 0!==m&&m,h=r.styleConfigMap[c]||{},C=["nl2br"].concat(o(d)),v=n.TitleCaserUtils.getTitleCaseOptions(this.options,r.shortWordsList,f),S=(v.articlesList,v.shortConjunctionsList,v.shortPrepositionsList,v.neverCapitalizedList,v.replaceTerms,v.smartQuotes,f.map((function(e){return Object.keys(e)[0].toLowerCase()}))),b=Object.fromEntries(f.map((function(e){return[Object.keys(e)[0].toLowerCase(),Object.values(e)[0]]})));this.logWarning("replaceTermsArray: ".concat(S)),this.logWarning("this.wordReplacementsList: ".concat(this.wordReplacementsList));var A=t.trim();A=(A=A.replace(r.REGEX_PATTERNS.HTML_BREAK," nl2br ")).replace(r.REGEX_PATTERNS.MULTIPLE_SPACES," "),n.TitleCaserUtils.isEntirelyUppercase(A.replace(/[^a-zA-Z]/g,""))&&(this.logWarning("Input string is entirely uppercase, normalizing to lowercase first"),A=A.toLowerCase());var w=A.split(" "),T=w.map((function(e,t){switch(!0){case n.TitleCaserUtils.isWordAmpersand(e):case n.TitleCaserUtils.hasHtmlBreak(e):case n.TitleCaserUtils.isWordIgnored(e,C):return e;case S.includes(e.toLowerCase()):return b[e.toLowerCase()];case n.TitleCaserUtils.isWordInArray(e,r.specialTermsList):return n.TitleCaserUtils.correctTerm(e,r.specialTermsList);case n.TitleCaserUtils.isElidedWord(e):return n.TitleCaserUtils.normalizeElidedWord(e);case n.TitleCaserUtils.hasHyphen(e):var i=e.replace(/[\W_]+$/,""),o=e.slice(i.length),s=i.split("-"),l=s.map((function(e){var t=e.toLowerCase();return S.includes(t)?b[t]:e})),u=l.every((function(e,t){return e===s[t]}))?n.TitleCaserUtils.correctTermHyphenated(e,c):l.join("-");return u.endsWith(o)?u:u+o;case n.TitleCaserUtils.hasSuffix(e,c):return n.TitleCaserUtils.correctSuffix(e,r.specialTermsList);case n.TitleCaserUtils.hasUppercaseIntentional(e):return e;case n.TitleCaserUtils.isShortWord(e,c)&&0!==t:return t>0&&n.TitleCaserUtils.endsWithSymbol(w[t-1],[":","?","!","."])?e.charAt(0).toUpperCase()+e.slice(1):n.TitleCaserUtils.normalizeCasingForWordByStyle(e,c);case n.TitleCaserUtils.endsWithSymbol(e):a.logWarning("Check if the word ends with a symbol: ".concat(e));var p=e.split(r.REGEX_PATTERNS.SPLIT_AT_PUNCTUATION);a.logWarning("Splitting word at symbols, result: ".concat(p));var d=p.map((function(e){if(a.logWarning("Processing part: ".concat(e)),n.TitleCaserUtils.endsWithSymbol(e))return a.logWarning("Part is a symbol: ".concat(e)),e;if(a.logWarning("Part is a word: ".concat(e)),n.TitleCaserUtils.isWordInArray(e,r.specialTermsList)){var t=n.TitleCaserUtils.correctTerm(e,r.specialTermsList);return a.logWarning("Word is in specialTermsList, corrected term: ".concat(t)),t}if(S.includes(e)){var i=b[e];return a.logWarning("Word is in replaceTermsArray, replacement: ".concat(i)),i}var o=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();return a.logWarning("Applying title casing to word: ".concat(o)),o}));return d.join("");case n.TitleCaserUtils.startsWithSymbol(e):return n.TitleCaserUtils.isWordInArray(e,r.specialTermsList)?n.TitleCaserUtils.correctTerm(e):e;case n.TitleCaserUtils.hasRomanNumeral(e):return e.toUpperCase();case n.TitleCaserUtils.hasNumbers(e):return e;default:return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}}));A=(A=T.join(" ")).replace(/nl2br/gi,"<br>"),g&&(A=n.TitleCaserUtils.convertQuotesToCurly(A));for(var L=A.split(" "),P=L[0],O=L[1]||null,E=0;E<L.length;E++){E>0&&L[E-1];var I=L[E],R=E<L.length-1?L[E+1]:null,F=I.match(r.REGEX_PATTERNS.TRAILING_PUNCTUATION),k="";F&&(k=F[0],I=I.replace(r.REGEX_PATTERNS.TRAILING_PUNCTUATION,"")),n.TitleCaserUtils.isRegionalAcronym(I)&&(I=n.TitleCaserUtils.normalizeRegionalAcronym(I)),n.TitleCaserUtils.isRegionalAcronymNoDot(I,R)&&(I=n.TitleCaserUtils.normalizeRegionalAcronym(I)),""!==k&&(I+=k)}for(var M=(A=L.join(" ")).split(" "),U=1;U<M.length-1;U++){var N=M[U];M[U-1],M[U+1],N===N.toUpperCase()||n.TitleCaserUtils.hasUppercaseIntentional(N)||n.TitleCaserUtils.isWordInArray(N,r.shortWordsList)&&(M[U]=N.length<=3?N.toLowerCase():N)}for(var B=(A=M.join(" ")).split(" "),j=0;j<B.length;j++){var W=B[j],D=B[j+1],G=B[j-1];D&&n.TitleCaserUtils.isRegionalAcronymNoDot(W,D,G)&&(B[j]=W.toUpperCase())}var x=B[B.length-1],z=B[B.length-2],H=B[B.length-3];n.TitleCaserUtils.isRegionalAcronym(P)&&(this.logWarning("firstWord is a regional acronym: ".concat(P)),B[0]=P.toUpperCase()),n.TitleCaserUtils.isRegionalAcronymNoDot(P,O)&&(B[0]=P.toUpperCase()),n.TitleCaserUtils.isFinalWordRegionalAcronym(x,z,H)&&(B[B.length-1]=x.toUpperCase()),A=B.join(" ");for(var V=0,K=Object.entries(this.phraseReplacementMap);V<K.length;V++){var Q=i(K[V],2),_=Q[0],X=Q[1],J=new RegExp(_.replace(r.REGEX_PATTERNS.REGEX_ESCAPE,"\\$&"),"gi");A=A.replace(J,X)}if("sentence"===h.caseStyle){for(var Z=A.split(" "),q=!1,Y=0;Y<Z.length;Y++){var $=Z[Y];q||!/[A-Za-z]/.test($)?e.shouldKeepCasing($,r.specialTermsList)||(Z[Y]=$.toLowerCase()):(e.shouldKeepCasing($,r.specialTermsList)||(Z[Y]=$.charAt(0).toUpperCase()+$.slice(1).toLowerCase()),q=!0)}A=Z.join(" ")}return A}catch(e){throw e instanceof Error?e:new Error(String(e))}}},{key:"setReplaceTerms",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: setReplaceTerms must be an array of objects.");e.forEach((function(e){if(e&&"object"===u(e)){var r=i(Object.entries(e)[0],2),n=r[0],o=r[1],s=t.wordReplacementsList.findIndex((function(e){return e.hasOwnProperty(n)}));-1!==s?t.wordReplacementsList[s][n]=o:t.wordReplacementsList.push(a({},n,o))}else console.warn("Invalid entry in terms array:",e)})),this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addReplaceTerm",value:function(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Invalid argument: term and replacement must be strings.");var r=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));-1!==r?this.wordReplacementsList[r][e]=t:this.wordReplacementsList.push(a({},e,t)),this.options.wordReplacementsList=this.wordReplacementsList}},{key:"removeReplaceTerm",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: term must be a string.");var t=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));if(-1===t)throw new Error("Term '".concat(e,"' not found in word replacements list."));this.wordReplacementsList.splice(t,1),this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addExactPhraseReplacements",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: newPhrases must be an array.");e.forEach((function(e){if("object"!==u(e)||Array.isArray(e)||1!==Object.keys(e).length){if("object"!==u(e)||Array.isArray(e))throw new TypeError("Invalid argument: Each item must be an object with a single key-value pair.");Object.entries(e).forEach((function(e){var r=i(e,2),n=r[0],a=r[1];if("string"!=typeof n||"string"!=typeof a)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[n]=a}))}else{var r=Object.keys(e)[0],n=e[r];if("string"!=typeof r||"string"!=typeof n)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[r]=n}})),this.logWarning("Log the this.phraseReplacementMap: ".concat(this.phraseReplacementMap))}},{key:"setStyle",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: style must be a string.");this.options.style=e}}])&&c(t.prototype,s),l&&c(t,l),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,s,l}()}.apply(t,n),void 0===a||(e.exports=a)},416(e,t,r){var n,a;n=[t,r(223),r(814),r(661),r(157),r(321),r(742),r(501),r(491),r(16)],a=function(e,r,n,a,i,o,s,l,u,c){"use strict";function p(e){return e&&e.__esModule?e:{default:e}}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function y(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),t.wordReplacementsList=t.styleConfigMap=t.specialTermsList=t.shortWordsList=t.regionalAcronymPrecedingWordsList=t.regionalAcronymList=t.regionalAcronymFollowingWordsList=t.phraseReplacementMap=t.ignoredWordList=t.allowedStylesList=t.TITLE_CASE_STYLES=t.REGEX_PATTERNS=void 0,r=p(r),n=p(n),a=p(a),i=p(i),o=p(o),s=p(s),l=p(l),u=p(u),c=p(c);var m=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.forEach((function(t){Array.isArray(t)?t.forEach((function(t){Object.values(t).forEach((function(t){e.push.apply(e,y(t))}))})):"object"===d(t)&&Object.values(t).forEach((function(t){e.push.apply(e,y(t))}))})),y(new Set(e))}(r.default,n.default,a.default,i.default,o.default,s.default,l.default,u.default,c.default),g=(t.specialTermsList=m,t.shortWordsList=["the","in","to","within","towards","into","at","of","for","by","on","from","with","through","about","across","over","under","between"],t.wordReplacementsList=[{"a.k.a":"AKA"},{"a.s.a.p":"ASAP"},{"f.a.q":"FAQ"},{"f.a.q.s":"FAQs"},{FAQS:"FAQs"},{"f.y.i":"FYI"},{"d.i.y":"DIY"},{"t.b.d":"TBD"},{"back-end":"Backend"},{"front-end":"Frontend"},{"full-stack":"Fullstack"},{nodejs:"Node.js"},{nextjs:"Next.js"},{nuxtjs:"Nuxt.js"},{reactjs:"React"},{"react.js":"React"},{"cyber-security":"Cybersecurity"}],t.TITLE_CASE_STYLES=Object.freeze({AP:"ap",APA:"apa",BRITISH:"british",CHICAGO:"chicago",NYT:"nyt",WIKIPEDIA:"wikipedia"}));t.allowedStylesList=Object.values(g),t.styleConfigMap=Object.freeze({ap:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},apa:{caseStyle:"title",shortConjunctionsList:["and","as","but","for","if","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["as","at","by","for","in","of","off","on","per","to","via"],neverCapitalizedList:[]},british:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},chicago:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:["etc."]},nyt:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},wikipedia:{caseStyle:"sentence",shortConjunctionsList:["and","as","but","for","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]}}),t.ignoredWordList=[],t.phraseReplacementMap={"the cybersmile foundation":"The Cybersmile Foundation","co. by colgate":"CO. by Colgate","on & off":"On & Off","on and off":"On and Off"},t.REGEX_PATTERNS=Object.freeze({TRAILING_PUNCTUATION:/[.,!?;:]+$/,SPLIT_AT_PUNCTUATION:/([.,\/#!$%\^&\*;:{}=\-_`~()?])/g,HTML_BREAK:/<\s*br\s*\/?\s*>/gi,MULTIPLE_SPACES:/ {2,}/g,REGEX_ESCAPE:/[.*+?^${}()|[\]\\]/g}),t.regionalAcronymList=["usa","us","u.s.a","u.s.","u.s","u.s.a.","eu","e.u.","e.u","uk","u.k.","u.k"],t.regionalAcronymPrecedingWordsList=["the","via","among","across","beyond","outside","alongside","throughout","despite","unlike","upon"],t.regionalAcronymFollowingWordsList=["act","acts","administration","administrations","agency","agencies","agreement","agreements","airforce","airforces","aid","alliance","alliances","ambassador","ambassadors","authority","authorities","bill","bills","bloc","blocs","budget","budgets","bureau","bureaus","cabinet","cabinets","charter","charters","command","commands","commission","commissions","conference","conferences","congress","congresses","convention","conventions","council","councils","court","courts","defense","defences","defence","defenses","delegation","delegations","democracy","democracies","department","departments","development","developments","directive","directives","diplomacy","division","divisions","economy","economies","embassy","embassies","engagement","engagements","envoy","envoys","exports","federation","federations","finance","finances","forces","framework","frameworks","funding","government","governments","hearing","hearings","imports","initiative","initiatives","intel","intelligence","intervention","interventions","jurisdiction","jurisdictions","law","laws","leadership","leaders","legislation","liaison","liaisons","mandate","mandates","markets","marines","military","militaries","ministry","ministries","mission","missions","navy","navies","negotiations","office","offices","operations","oversight","parliament","parliaments","plan","plans","policies","policy","policy-makers","precedent","precedents","presence","program","programme","programmes","programs","project","projects","protocol","protocols","province","provinces","reform","reforms","regulation","regulations","regulator","regulators","relations","representation","representations","republic","republics","resolution","resolutions","ruling","rulings","sanctions","security","securities","senate","senates","service","services","state","states","statute","statutes","strategy","strategies","summit","summits","summitry","surveillance","talks","tariffs","territory","territories","trade","trades","treasury","treasuries","treaty","treaties","tribunal","tribunals","troops","union","unions","veterans","warships","zone","zones"]}.apply(t,n),void 0===a||(e.exports=a)},279(e,t,r){var n,a;n=[t,r(416)],a=function(e,r){"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw i}}}}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function d(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaserUtils=void 0;var f=t.TitleCaserUtils=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,u=[{key:"validateOption",value:function(e,t){if(!Array.isArray(t))throw new TypeError("Invalid option: ".concat(e," must be an array"));if(!t.every((function(e){return"string"==typeof e})))throw new TypeError("Invalid option: ".concat(e," must be an array of strings"))}},{key:"validateOptions",value:function(t){for(var n=0,a=Object.keys(t);n<a.length;n++){var i=a[n];if("style"!==i)if("wordReplacementsList"!==i){if(!r.styleConfigMap.hasOwnProperty(i))throw new TypeError("Invalid option: ".concat(i));e.validateOption(i,t[i])}else{if(!Array.isArray(t.wordReplacementsList))throw new TypeError("Invalid option: ".concat(i," must be an array"));var o,s=l(t.wordReplacementsList);try{for(s.s();!(o=s.n()).done;)if("string"!=typeof o.value)throw new TypeError("Invalid option: ".concat(i," must contain only strings"))}catch(e){s.e(e)}finally{s.f()}}else{if("string"!=typeof t.style)throw new TypeError("Invalid option: ".concat(i," must be a string"));if(!r.allowedStylesList.includes(t.style))throw new TypeError("Invalid option: ".concat(i," must be a string"))}}}},{key:"getTitleCaseOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=t.style||"ap",l=!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes,u="".concat(o,"|").concat(l,"|").concat(n.length>0?n.sort().join(","):"");if(e.titleCaseOptionsCache.has(u))return e.titleCaseOptionsCache.get(u);var c=s(s(s({},r.styleConfigMap[t.style||"ap"]),t),{},{smartQuotes:!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes}),p=i(new Set([].concat(i(c.articlesList),i(n)))),d=i(new Set([].concat(i(c.shortConjunctionsList),i(n)))),y=i(new Set([].concat(i(c.shortPrepositionsList),i(n)))),f=[].concat(i((c.replaceTerms||[]).map((function(e){var t=a(e,2),r=t[0],n=t[1];return[r.toLowerCase(),n]}))),i(r.wordReplacementsList)),m={articlesList:p,shortConjunctionsList:d,shortPrepositionsList:y,neverCapitalizedList:i(c.neverCapitalizedList),replaceTerms:f,smartQuotes:c.smartQuotes};return e.titleCaseOptionsCache.set(u,m),m}},{key:"capitalizeFirstLetter",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1)}},{key:"isShortConjunction",value:function(t,r){var n=i(e.getTitleCaseOptions({style:r}).shortConjunctionsList),a=t.toLowerCase();return n.includes(a)}},{key:"isArticle",value:function(t,r){return e.getTitleCaseOptions({style:r}).articlesList.includes(t.toLowerCase())}},{key:"isShortPreposition",value:function(t,r){return e.getTitleCaseOptions({style:r}).shortPrepositionsList.includes(t.toLowerCase())}},{key:"isNeverCapitalized",value:function(t,r){var n="".concat(r,"_").concat(t.toLowerCase());if(e.isNeverCapitalizedCache.has(n))return e.isNeverCapitalizedCache.get(n);var a=e.getTitleCaseOptions({style:r}).neverCapitalizedList.includes(t.toLowerCase());return e.isNeverCapitalizedCache.set(n,a),a}},{key:"isShortWord",value:function(t,a){if("string"!=typeof t)throw new TypeError("Invalid input: word must be a string. Received ".concat(n(t),"."));if(!r.allowedStylesList.includes(a))throw new Error("Invalid option: style must be one of ".concat(r.allowedStylesList.join(", "),"."));return e.isShortConjunction(t,a)||e.isArticle(t,a)||e.isShortPreposition(t,a)||e.isNeverCapitalized(t,a)}},{key:"hasNumbers",value:function(e){return/\d/.test(e)}},{key:"hasUppercaseMultiple",value:function(e){for(var t=0,r=0;r<e.length&&t<2;r++)/[A-Z]/.test(e[r])&&t++;return t>=2}},{key:"hasUppercaseIntentional",value:function(e){if(e.length<=4)return/[A-Z]/.test(e.slice(1));var t=/[A-Z]/.test(e.slice(1)),r=/[a-z]/.test(e.slice(1));return t&&r}},{key:"isEntirelyUppercase",value:function(e){return e===e.toUpperCase()&&e!==e.toLowerCase()&&e.length>1}},{key:"isRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");if(e.length<2)return!1;var t=e.toLowerCase();return r.regionalAcronymList.includes(t)}},{key:"isRegionalAcronymNoDot",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w\s]/g,""),i=t.toLowerCase().replace(/[^\w\s]/g,"");return!!(n&&r.regionalAcronymList.includes(a)&&["the"].includes(n.toLowerCase()))||r.regionalAcronymList.includes(a)&&r.regionalAcronymFollowingWordsList.includes(i)}},{key:"isFinalWordRegionalAcronym",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w]/g,""),i=t.toLowerCase().replace(/[^\w]/g,""),o="string"==typeof n?n.toLowerCase().replace(/[^\w]/g,""):null;return!!(r.regionalAcronymList.includes(a)&&(r.regionalAcronymPrecedingWordsList.includes(i)||"the"===i&&o&&r.regionalAcronymPrecedingWordsList.includes(o)))}},{key:"normalizeRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");return e.toUpperCase()}},{key:"normalizeAcronymKey",value:function(e){return e.toLowerCase().replace(/\./g,"")}},{key:"normalizeCasingForWordByStyle",value:function(e,t){if(!e||!t||!r.styleConfigMap[t])return!1;var n=e.toLowerCase(),a=r.styleConfigMap[t],o=a.shortConjunctionsList,s=a.articlesList,l=a.shortPrepositionsList,u=a.neverCapitalizedList;return!![].concat(i(o),i(s),i(l),i(u)).includes(n)&&e}},{key:"hasSuffix",value:function(e){return e.length>2&&e.endsWith("'s")}},{key:"hasApostrophe",value:function(e){return-1!==e.indexOf("'")}},{key:"hasHyphen",value:function(e){return-1!==e.indexOf("-")||-1!==e.indexOf("–")||-1!==e.indexOf("—")}},{key:"hasRomanNumeral",value:function(e){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");var t=e.includes("'")?e.split("'"):[e],r=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i;return t.every((function(e){return r.test(e)}))}},{key:"hasHyphenRomanNumeral",value:function(t){if("string"!=typeof t||""===t)throw new TypeError("Invalid input: word must be a non-empty string.");for(var r=t.split("-"),n=0;n<r.length;n++)if(!e.hasRomanNumeral(r[n]))return!1;return!0}},{key:"hasHtmlBreak",value:function(e){return"nl2br"===e}},{key:"hasUnicodeSymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u02B0-\u02FF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0800-\u083F\u0840-\u085F\u0860-\u087F\u0880-\u08AF\u08B0-\u08FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF]/.test(e)}},{key:"hasCurrencySymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u20AC\u20A0-\u20B9\u20BD\u20A1-\u20A2\u00A3-\u00A5\u058F\u060B\u09F2-\u09F3\u0AF1\u0BF9\u0E3F\u17DB\u20A6\u20A8\u20B1\u2113\u20AA-\u20AB\u20AA\u20AC-\u20AD\u20B9]/.test(e)}},{key:"isWordAmpersand",value:function(e){return/&|&/.test(e)}},{key:"startsWithSymbol",value:function(e){if("string"!=typeof e)throw new Error("Parameter 'word' must be a string. Received '".concat(n(e),"' instead."));if(0===e.length)return!1;var t=e.charAt(0);return"#"===t||"@"===t||"."===t}},{key:"escapeSpecialCharacters",value:function(e){return e.replace(/[&<>"']/g,(function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";case"'":return"'";default:return e}}))}},{key:"unescapeSpecialCharacters",value:function(e){return e.replace(/&|<|>|"|'/g,(function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case""":return'"';case"'":return"'";default:return e}}))}},{key:"endsWithSymbol",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[".",",",";",":","?","!"];if("string"!=typeof e||!Array.isArray(t))throw new Error("Invalid arguments");return t.some((function(t){return e.endsWith(t)}))||t.includes(e.slice(-2))}},{key:"isWordIgnored",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.ignoredWordList;if(!Array.isArray(n))throw new TypeError("Invalid input: ignoredWords must be an array.");if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");return t=e.toLowerCase().trim(),n.includes(t)}},{key:"isWordInArray",value:function(e,t){return!!Array.isArray(t)&&t.some((function(t){return t.toLowerCase()===e.toLowerCase()}))}},{key:"convertQuotesToCurly",value:function(e){for(var t={"'":["‘","’"],'"':["“","”"]},r="",n=0;n<e.length;n++){var a=e[n],i=t[a];if(i){var o=e[n-1],s=e[n+1],l=o&&" "!==o&&"\n"!==o?i[1]:i[0];r+=l,l===i[1]&&/[.,;!?()\[\]{}:]/.test(s)&&(r+=s,n++)}else r+=a}return r}},{key:"replaceTerm",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||"object"!==n(t))throw new TypeError("Invalid input: replaceTermObj must be a non-null object.");var r;if(r=e.toLowerCase(),t.hasOwnProperty(r))return t[r];if(t.hasOwnProperty(e))return t[e];var a=e.toUpperCase();return t.hasOwnProperty(a)?t[a]:e}},{key:"isElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim().toLowerCase().replace(/'/g,"’"),a=l(r);try{for(a.s();!(t=a.n()).done;){var i=t.value;if(n.startsWith(i))return!0}}catch(e){a.e(e)}finally{a.f()}return!1}},{key:"normalizeElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim(),a=n.replace(/'/g,"’").toLowerCase(),i=l(r);try{for(i.s();!(t=i.n()).done;){var o=t.value;if(a.startsWith(o)){var s=o.length,u=n.slice(s);return o.charAt(0).toUpperCase()+o.slice(1)+(u.length>0?u.charAt(0).toUpperCase()+u.slice(1):"")}}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"correctSuffix",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t)||t.some((function(e){return"string"!=typeof e})))throw new TypeError("Invalid input: correctTerms must be an array of strings.");if(/'s$/i.test(e)){var r=e.slice(0,-2),n=t.findIndex((function(e){return e.toLowerCase()===r.toLowerCase()}));if(n>=0){var a=t[n];return"".concat(a,"'s")}var i=r.charAt(0).toUpperCase()+r.slice(1);return"".concat(i,"'s")}return e}},{key:"correctTerm",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/[-']/;if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t))throw new TypeError("Invalid input: correctTerms must be an array.");if(!("string"==typeof r||Array.isArray(r)||r instanceof RegExp))throw new TypeError("Invalid input: delimiters must be a string, an array of strings, or a regular expression.");"string"==typeof r?r=new RegExp("[".concat(r,"]")):Array.isArray(r)&&(r=new RegExp("[".concat(r.join(""),"]")));for(var n=e.split(r),a=n.length,i=function(){var e=n[o].toLowerCase(),r=t.findIndex((function(t){return t.toLowerCase()===e}));n[o]=r>=0?t[r]:n[o].charAt(0).toUpperCase()+n[o].slice(1).toLowerCase()},o=0;o<a;o++)i();var s=r.source.charAt(0);return e.includes("-")?s="-":e.includes("'")&&(s="'"),n.join(s)}},{key:"correctTermHyphenated",value:function(t,n){var a=t.match(/[-–—]/);if(!a)return t;var i=a[0],o=t.split(/[-–—]/),s=o.some((function(e){return r.regionalAcronymList.includes(e.toLowerCase().replace(/[^\w]/g,""))})),l=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},u=function(e){return e.charAt(0)+e.slice(1).toLowerCase()},c={ap:function(e,t){return s||0===t?l(e):u(e)},chicago:l,apa:function(t,r,a){return!s&&e.isShortWord(t,n)&&r>0&&r<a-1?t.toLowerCase():l(t)},nyt:l,wikipedia:function(e,t){return 0===t?l(e):u(e)}}[n]||u;return o.map((function(e,t){var n=e,a=e.toLowerCase().replace(/[^\w]/g,"");if(r.regionalAcronymList.includes(a))return e.toUpperCase();if(/^(M{0,3})(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i.test(e))return e.toUpperCase();var i=e.toLowerCase(),s=r.specialTermsList.findIndex((function(e){return e.toLowerCase()===i}));return s>=0&&(n=r.specialTermsList[s]),c(n,t,o.length)})).join(i)}}],(o=null)&&p(t.prototype,o),u&&p(t,u),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,u}();d(f,"TitleCaseValidator",void 0),d(f,"titleCaseOptionsCache",new Map),d(f,"isNeverCapitalizedCache",new Map)}.apply(t,n),void 0===a||(e.exports=a)},223(e){"use strict";e.exports=JSON.parse('{"sports":["FIFA","UEFA","NBA","NFL","MLB","NHL","NASCAR","IOC","FIBA","ATP","WTA","PGA","LPGA","FIA","WADA","ITF","AFL","NRL","ICC","IRB","IHF","FIVB","FINA","UCI","IAAF","ISU","WSF","BWF","WBC","WBO","IBF","IBO","UEFA","CONMEBOL","CONCACAF","CAF","AFC","OFC","CPL","MLS","LaLiga","Bundesliga","Ligue1","Eredivisie","JLeague","KLeague","Ryder Cup","Davis Cup","FedCup","XGames","Olympics","Paralympics","Dakar"],"apple":["Apple","AirDrop","AirPlay","AirPods","AirTags","FinalCut","GarageBand","iBooks","iCloud","iLife","iMac","iMessage","iMovie","iPhoto","iWatch","iWork","LogicPro","macOS","ProTools","QuickTime","iPhone","iPad","iPod","iOS","macOS","tvOS","watchOS"],"corporate":["Deloitte","Devoteam","ExxonMobil","GE","Boeing","Shell","Chevron"],"tech":["Bing","Salesforce","Asus","Acer","Lenovo","Huawei","Xiaomi","Epson","Nvidia","AMD","Qualcomm","Logitech","Panasonic","Sharp","Toshiba","Philips","Fujitsu","Netgear","Lexmark","Razer","SAP","Symantec","Kaspersky","Avast","McAfee","Siemens","Canon","Nikon","Garmin","GoPro","Oculus","Zoom","Slack","Trello","WeChat","Alibaba","Tencent","Baidu","Roku","Fitbit","Dropbox","Reddit","TikTok","Slack","Trello","Uber","Zoom","Reddit","Quora","JIRA","ZoomInfo","HubSpot","Mailchimp","WeChat","Dropbox","Uber","Telegram","Discord","StackOverflow","Quora","Reddit","ZoomInfo","Airbnb","LinkedIn","Snapchat","GitHub","GitLab","Nginx","OpenSSL","Webpack","Unity3D","Figma","JIRA","Kubernetes","TensorFlow","NPM","WooCommerce","WordPress","Slack","Trello","Uber","Zoom","Reddit","Quora","WeChat","Dropbox","Telegram","Discord","StackOverflow","Airbnb","LinkedIn","Snapchat","JIRA","MobX","VMware","Google"],"business":["Visa","Mastercard","Citibank","JPMorgan","Barclay","AMEX","Citigroup","PayPal","BNP","HSBC","Santander","UBS","Allianz","Prudential","Vanguard","BlackRock","CapitalOne","TD","Robinhood","MoneyGram","SoFi","Experian","Equifax","TransUnion","MasterCard","Blockchain","Coinbase","Binance","Kraken","Ethereum","Bitcoin"],"automotive":["BMW","Ford","Mercedes","Nissan","Tesla","Toyota","Audi","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Honda","Hyundai","Infiniti","Jaguar","Jeep","Kia","Lamborghini","LandRover","Lexus","Maserati","Mazda","McLaren","Mitsubishi","Peugeot","Porsche","Renault","RollsRoyce","Saab","Subaru","Suzuki","Volkswagen","Volvo","Alfa Romeo","Bentley","Bugatti","Cadillac","Citroen","Daewoo","Daihatsu","Datsun","DeLorean","Fiat Chrysler","GMC","Holden","Hummer","Isuzu","Koenigsegg","Lancia","Lincoln","Lotus","Mahindra","Suzuki","Opel","Pagani","Perodua","Proton","Rover","Scania","Skoda","SsangYong","Tata","Vauxhall","VinFast","Yugo","Zenvo"],"media":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","HBO","Showtime","Starz","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Vine","Zynga","Tidal","Quibi","Crave","Gaia","PlutoTV","Vudu","Kanopy","Mubi","BritBox"],"telecom":["Verizon","Sprint","Nokia","Ericsson","Vodafone","AT&T","Huawei","Xiaomi","Orange","NTT","T-Mobile","Telefonica","Airtel","Telstra","Rogers","Bell","MTN","ZTE","Qualcomm","Motorola","Telus","BT","Swisscom","SoftBank","KDDI"],"entertainment":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","Pandora","HBO","Showtime","Starz","Paramount","Peacock","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Zynga","Tidal","Oscars"],"retail":["Amazon","eBay","IKEA","Walmart","Zara","Target","Costco","Sephora","Nordstrom","Tesco","Asda","Aldi","Lidl","Carrefour","Uniqlo","H&M","Gap","Cabela’s","BassPro","REI","Ulta","Saks","JCPenney","Belk","Argos","Safeway","Kroger","Publix","HomeDepot","Woolworths","Staples","OfficeMax","B&H","Newegg","MicroCenter","Frys","Monoprix","Waitrose","Morrisons","Ocado","Flipkart","Rakuten","Alibaba","JD","Taobao","Tmall","Guomei","Suning"],"food":["Nestle","Pepsi","Coca-Cola","PepsiCo","Starbucks","KFC","BurgerKing","PizzaHut","TacoBell","Kroger","Costco","Woolworths","Carrefour","Tesco","Aldi","Lidl","Walmart","Safeway","Publix","WholeFoods","RedBull","Monster","Nespresso","Heineken","Budweiser","Corona","Guinness","GeneralMills","Unilever","Kraft","Heinz","Danone","Campbell","Tyson","Conagra","Mondelez","Suntory","Diageo","Pernod"],"pharmaceutical":["Pfizer","Moderna","Gilead","Merck","Novartis","Sanofi","Roche","AbbVie","Amgen","Bayer","Biogen","BristolMyers","Celgene","GSK","Janssen","Lilly","Medtronic","Mylan","NovoNordisk","Regeneron","Teva","AstraZeneca","Boehringer","Daiichi","Eisai","Genentech","Grifols","Ipsen","Mundipharma","Otsuka","Purdue","Sandoz","Servier","SunPharma","Takeda","UCB","Viatris","Wockhardt","Zydus","Alkem"],"nonprofit":["NGO","NPO","NGOs","NPOs","UN","UNESCO","UNICEF","UNHCR","UNODC","UNDP","UNFPA","UNEP","UNRWA"]}')},814(e){"use strict";e.exports=JSON.parse('{"commercial":["Ltd.","LLC","PLC","Co.","Inc.","St.","Ave.","Bldg.","No.","GmbH"],"titles":["CEO","CEOs","CFO","CFOs","CIO","CIOs","CMO","CMOs","COO","COOs","CPO","CPOs","CRO","CROs","CSO","CSOs","CTO","CTOs","EVP","EVPs","HR","HRs","SVP","SVPs","VP","VPs","CMTO","CDO"],"accounting":["AP","COGS","EBIT","EPS","FIFO","GAAP","LIFO","P&L","ROI","SOX","TCO","VAT","EBITDA","NPV","WACC","AR"],"finance":["CAGR","DCF","ETF","IPO","IRR","M&A","NAV","PE","PEG","PPE","ROE","S&P","TVM","VC","FOMC","FX","ETF"],"legal":["AFA","ADR","CCPA","CFAA","CISG","DMCA","EULA","GDPR","HIPAA","NDA","SOW","TOS","LLM","JD","Esq.","AG","SARL","KYC","AML","ph.d.","m.d.","d.d.s.","d.m.d.","d.o.","d.c.","d.v.m.","d.n.p.","d.p.m.","d.s.w.","d.s.n.","d.n.sc.","d.n.a.","d.n.t.","d.n.p.t.","d.n.o.","d.n.m.","d.n.e.","d.n.s.","d.n.p.s."]}')},661(e){"use strict";e.exports=JSON.parse('{"eterms":["eBook","eBooks","eMarket","eMarketplace","eMarketplaces","eMarkets","eReader","eShop","eShops","eStore","eStores","E-commerce","E-com"]}')},157(e){"use strict";e.exports=JSON.parse('{"countries":["Afghanistan","Albania","Algeria","Andorra","Angola","Antigua and Barbuda","Argentina","Armenia","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","Brunei","Bulgaria","Burkina Faso","Burundi","Cabo Verde","Cambodia","Cameroon","Canada","Central African Republic","Chad","Chile","China","Colombia","Comoros","Congo","Costa Rica","Cote d\'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Greece","Grenada","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Zealand","Nicaragua","Niger","Nigeria","North Macedonia","Norway","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Qatar","Romania","Russia","Rwanda","Saint Kitts and Nevis","Saint Lucia","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe"],"alpha2":["UK"],"alpha3":["USA"]}')},321(e){"use strict";e.exports=JSON.parse('{"advertising":["AdWords","AdSense","AdMob","DoubleClick","SpotX"],"digitalMarketing":["DSP","SSP","CTR","CPA","CPC","CPL","CPM","CRM","SEO","SEM","SMM","A/B","CTOR","KPI","SERP","FAQ","PR"],"general":["B2B","B2C","CMO","USP","PWA","SMO","T&C","TOS","PP","UI","UX","UI/UX"],"blockchain":["PoE","PoW","PoC"],"accessibility":["A11Y"]}')},16(e){"use strict";e.exports=JSON.parse('{"ranks":["Pvt.","Cpl.","Sgt.","SSgt.","GySgt.","MSgt.","1stSgt.","SgtMaj.","WO1","CW2","CW3","CW4","CW5","2ndLt.","1stLt.","Capt.","Maj.","LtCol.","Col.","BrigGen.","MajGen.","LtGen.","Gen.","Adm.","Cpt.","Cmdr.","Lt.","Ens."],"branches":["Army","Navy","Air Force","Marines","Coast Guard","Space Force","National Guard","People\'s Liberation Army","Russian Ground Forces","JASDF","ROKA"],"units":["Platoon","Company","Battalion","Regiment","Brigade","Division","Corps","Squad","Fleet","Wing","Squadron","Task Force","Eurocorps","Battlegroup","Rapid Reaction Force","Joint Expeditionary Force"],"acronyms":["DoD","NATO","EUFOR","EUTM","OSCE","UNSC","JAG","ROTC","AFB","MOS","AWOL","MRE","IED","FOB","TOC","CONUS","OCONUS","UCMJ","USMC","USAF","USN","USA","SOCOM","CENTCOM","NORAD","PACOM","JTF","RPG","SAM","ASEAN","AUKUS","QUAD","CSTO","SCO","CFSP","EEAS","EUMS","Frontex","GRU","FSB","PLAN","PLAAF"],"equipment":["Humvee","MRAP","Apache","Black Hawk","Bradley","Abrams","F-16","F-22","F-35","B-2","B-52","C-130","LCAC","MRE"],"operations":["Operation Desert Storm","Operation Enduring Freedom","Operation Iraqi Freedom","Operation Inherent Resolve"],"treaties":["Lisbon Treaty","Maastricht Treaty","Treaty of Rome","Nice Treaty","Schengen Agreement"],"regions":["South China Sea","Taiwan Strait","Korean DMZ","Kashmir","Kuril Islands","Senkaku Islands"],"alliances":["NATO","AUKUS","QUAD","ASEAN","SCO","CSTO","Five Eyes"]}')},742(e){"use strict";e.exports=JSON.parse('{"miscellaneous":["w/","w/o","Open Source","Cybersecurity","Ecosystem","Biodiversity","LGBT","LGBTQ+","LGBTQIA+","2SLGBTQ+","BIPOC"]}')},501(e){"use strict";e.exports=JSON.parse('{"terms":["API","APIs","ASCII","CI","CLI","DLL","DNS","EC2","FTP","HTTP","HTTPS","ICMP","IDE","IP","ISP","LPWAN","M2M","MQTT","OOP","REST","SSH","SSL","TCP","UDP","URL","WLAN","WYSIWYG","IMAP","RSS","IaaS","PaaS","SaaS","CaaS","FaaS","XaaS","RaaS","IoE","IoT","LoRa","NB-IoT","RFID","RF","RFI","RFQ","ECMAScript","IO","I/O","DevOps","SecOps","DDoS","VoIP","AI","AR","ML","VR","CI/CD","DevSecOps","UI/UX","UX/UI","UI","UX","MVC","ORM","3G","4G","5G","NumPy","VPN","PKI","WAN","NAT","GPU","SSD","HDD","RAM","Frontend","Backend","Fullstack"],"legal":["DMCA","GDPR","HIPAA","NDA","SOW","TOS"],"languages":["JavaScript","TypeScript","Java","PHP","SQL","CSS",".NET","ES5","ES6","NoSQL","DynamoDB","Terraform","CloudFormation","RDS","Python","Ruby","Go","Swift","Kotlin","Perl"],"formats":["JSON","XML","YAML","GraphQL","WebSocket","RESTful"],"secops":["RaaS","DevSecOps","SecOps","Cybersecurity","DDoS"],"technologies":["AWS","Azure","GCP","VMware","Docker","Ansible","Chef","Puppet","Git","Subversion","Jenkins","CircleCI","Hadoop","Spark","BigQuery","PowerBI","Tableau"],"os":["Android","macOS","Windows","Linux","iOS","Ubuntu","CentOS","Fedora","Debian","SUSE","HarmonyOS","FreeRTOS","BeOS","BSD","Cordova","Flutter"],"programming":["Angular","Bootstrap","CodeIgniter","jQuery","Laravel","Redux","Vue.js","VueX","SCSS","AJAX","GraphQL","HTML","HTML5","MySQL","MongoDB","PostgresQL","SQLite","ASP","ASPX","Elasticsearch","Nginx","OpenSSL","Webpack","Unity3D","Kubernetes","TensorFlow","NPM","cURL"]}')},491(e){"use strict";e.exports=JSON.parse('{"timeRelated":["a.m.","p.m.","ca.","cc.","fig.","pl.","pt.","rev.","sr.","v.","vol.","et al.","pp.","p."],"academic":["adj.","adv.","cf.","cm.","co.","corp.","dept.","dist.","ed.","edn.","esp.","etc.","ex.","i.e.","e.g.","op. cit.","vs."]}')}},t={};(function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports})(987)})();
|
|
5
|
+
*/(()=>{var e={987(e,t,r){var n,a;n=[t,r(388)],void 0===(a=function(e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"TitleCaser",{enumerable:!0,get:function(){return r.TitleCaser}}),t.default=void 0,void 0===String.prototype.toTitleCase&&(String.prototype.toTitleCase=function(e){return new r.TitleCaser(e).toTitleCase(this)}),"undefined"!=typeof window&&window.document&&(window.TitleCaser=r.TitleCaser);t.default=r.TitleCaser}.apply(t,n))||(e.exports=a)},388(e,t,r){var n,a;n=[t,r(416),r(279)],a=function(e,r,n){"use strict";function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||s(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){if(e){if("string"==typeof e)return l(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=u(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==u(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaser=void 0;t.TitleCaser=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.options=t,this.debug=t.debug||!1,this.wordReplacementsList=JSON.parse(JSON.stringify(r.wordReplacementsList)),this.phraseReplacementMap=JSON.parse(JSON.stringify(r.phraseReplacementMap))}return t=e,s=[{key:"logWarning",value:function(e){this.debug&&console.warn("Warning: ".concat(e))}},{key:"toTitleCase",value:function(t){var a=this;try{if("string"!=typeof t)throw new TypeError("Invalid input: input must be a string.");if(0===t.length)throw new TypeError("Invalid input: input must not be empty.");if(t.length>1e5)throw new TypeError("Invalid input: input exceeds maximum length of 100,000 characters.");if(void 0!==this.options&&"object"!==u(this.options))throw new TypeError("Invalid options: options must be an object.");var s=this.options,l=s.style,c=void 0===l?"ap":l,p=s.neverCapitalize,d=void 0===p?[]:p,f=s.wordReplacementsList,y=void 0===f?this.wordReplacementsList:f,m=s.smartQuotes,g=void 0!==m&&m,h=s.normalizeWhitespace,C=void 0===h||h,v=r.styleConfigMap[c]||{},S=["nl2br"].concat(o(d)),b=n.TitleCaserUtils.getTitleCaseOptions(this.options,r.shortWordsList,y),A=(b.articlesList,b.shortConjunctionsList,b.shortPrepositionsList,b.neverCapitalizedList,b.replaceTerms,b.smartQuotes,y.map((function(e){return Object.keys(e)[0].toLowerCase()}))),w=Object.fromEntries(y.map((function(e){return[Object.keys(e)[0].toLowerCase(),Object.values(e)[0]]})));this.logWarning("replaceTermsArray: ".concat(A)),this.logWarning("this.wordReplacementsList: ".concat(this.wordReplacementsList));var T=t;T=T.replace(r.REGEX_PATTERNS.HTML_BREAK," nl2br "),n.TitleCaserUtils.isEntirelyUppercase(T.replace(/[^a-zA-Z]/g,""))&&(this.logWarning("Input string is entirely uppercase, normalizing to lowercase first"),T=T.toLowerCase());var L=T.split(/(\s+)/),O=L.map((function(e,t){if(!e||/^\s+$/.test(e))return e;var i=e;switch(!0){case n.TitleCaserUtils.isWordAmpersand(i):case n.TitleCaserUtils.hasHtmlBreak(i):case n.TitleCaserUtils.isWordIgnored(i,S):return i;case A.includes(i.toLowerCase()):return w[i.toLowerCase()];case n.TitleCaserUtils.isWordInArray(i,r.specialTermsList):return n.TitleCaserUtils.correctTerm(i,r.specialTermsList);case n.TitleCaserUtils.isElidedWord(i):return n.TitleCaserUtils.normalizeElidedWord(i);case n.TitleCaserUtils.hasHyphen(i):var o=i.replace(/[\W_]+$/,""),s=i.slice(o.length),l=o.split("-"),u=l.map((function(e){var t=e.toLowerCase();return A.includes(t)?w[t]:e})),p=u.every((function(e,t){return e===l[t]}))?n.TitleCaserUtils.correctTermHyphenated(i,c):u.join("-");return p.endsWith(s)?p:p+s;case n.TitleCaserUtils.hasSuffix(i,c):return n.TitleCaserUtils.correctSuffix(i,r.specialTermsList);case n.TitleCaserUtils.hasUppercaseIntentional(i):return i;case n.TitleCaserUtils.isShortWord(i,c)&&0!==t:for(var d=null,f=t-1;f>=0;f--)if(!/^\s+$/.test(L[f])){d=L[f];break}return d&&n.TitleCaserUtils.endsWithSymbol(d,[":","?","!","."])?i.charAt(0).toUpperCase()+i.slice(1):n.TitleCaserUtils.normalizeCasingForWordByStyle(i,c);case n.TitleCaserUtils.endsWithSymbol(i):a.logWarning("Check if the word ends with a symbol: ".concat(i));var y=i.split(r.REGEX_PATTERNS.SPLIT_AT_PUNCTUATION);a.logWarning("Splitting word at symbols, result: ".concat(y));var m=y.map((function(e){if(a.logWarning("Processing part: ".concat(e)),n.TitleCaserUtils.endsWithSymbol(e))return a.logWarning("Part is a symbol: ".concat(e)),e;if(a.logWarning("Part is a word: ".concat(e)),n.TitleCaserUtils.isWordInArray(e,r.specialTermsList)){var t=n.TitleCaserUtils.correctTerm(e,r.specialTermsList);return a.logWarning("Word is in specialTermsList, corrected term: ".concat(t)),t}if(A.includes(e)){var i=w[e];return a.logWarning("Word is in replaceTermsArray, replacement: ".concat(i)),i}var o=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();return a.logWarning("Applying title casing to word: ".concat(o)),o}));return m.join("");case n.TitleCaserUtils.startsWithSymbol(i):return n.TitleCaserUtils.isWordInArray(i,r.specialTermsList)?n.TitleCaserUtils.correctTerm(i):i;case n.TitleCaserUtils.hasRomanNumeral(i):return i.toUpperCase();case n.TitleCaserUtils.hasNumbers(i):return i;default:return i.charAt(0).toUpperCase()+i.slice(1).toLowerCase()}}));T=(T=O.join("")).replace(/nl2br/gi,"<br>"),g&&(T=n.TitleCaserUtils.convertQuotesToCurly(T));for(var P=T.split(/(\s+)/),E=P.filter((function(e){return!/^\s+$/.test(e)})),I=E[0]||null,R=E[1]||null,k=0;k<P.length;k++)if(!/^\s+$/.test(P[k])){for(var F=null,M=k-1;M>=0;M--)if(!/^\s+$/.test(P[M])){F=P[M];break}for(var U=null,N=k+1;N<P.length;N++)if(!/^\s+$/.test(P[N])){U=P[N];break}var B=P[k],W=B.match(r.REGEX_PATTERNS.TRAILING_PUNCTUATION),j="";W&&(j=W[0],B=B.replace(r.REGEX_PATTERNS.TRAILING_PUNCTUATION,"")),n.TitleCaserUtils.isRegionalAcronymNoDot(B,U,F)&&(B=n.TitleCaserUtils.normalizeRegionalAcronym(B)),""!==j&&(B+=j),P[k]=B}for(var D=(T=P.join("")).split(/(\s+)/),G=1;G<D.length-1;G++){var x=D[G];D[G-1],D[G+1],x===x.toUpperCase()||n.TitleCaserUtils.hasUppercaseIntentional(x)||n.TitleCaserUtils.isWordInArray(x,r.shortWordsList)&&(D[G]=x.length<=3?x.toLowerCase():x)}for(var z=(T=D.join("")).split(/(\s+)/),H=0;H<z.length;H++)if(!/^\s+$/.test(z[H])){for(var V=z[H],K=null,Q=H-1;Q>=0;Q--)if(!/^\s+$/.test(z[Q])){K=z[Q];break}for(var J=null,_=H+1;_<z.length;_++)if(!/^\s+$/.test(z[_])){J=z[_];break}J&&n.TitleCaserUtils.isRegionalAcronymNoDot(V,J,K)&&(z[H]=V.toUpperCase())}var X=z.filter((function(e){return!/^\s+$/.test(e)})),Z=X[X.length-1],$=X[X.length-2],q=X[X.length-3];I&&n.TitleCaserUtils.isRegionalAcronym(I)&&(this.logWarning("firstWord is a regional acronym: ".concat(I)),z[0]=I.toUpperCase()),I&&R&&n.TitleCaserUtils.isRegionalAcronymNoDot(I,R)&&(z[0]=I.toUpperCase()),Z&&$&&n.TitleCaserUtils.isFinalWordRegionalAcronym(Z,$,q)&&(z[z.length-1]=Z.toUpperCase()),T=z.join("");for(var Y=0,ee=Object.entries(this.phraseReplacementMap);Y<ee.length;Y++){var te=i(ee[Y],2),re=te[0],ne=te[1],ae=new RegExp(re.replace(r.REGEX_PATTERNS.REGEX_ESCAPE,"\\$&"),"gi");T=T.replace(ae,ne)}if("sentence"===v.caseStyle){for(var ie=T.split(/(\s+)/),oe=!1,se=0;se<ie.length;se++){var le=ie[se];oe||!/[A-Za-z]/.test(le)?e.shouldKeepCasing(le,r.specialTermsList)||(ie[se]=le.toLowerCase()):(e.shouldKeepCasing(le,r.specialTermsList)||(ie[se]=le.charAt(0).toUpperCase()+le.slice(1).toLowerCase()),oe=!0)}T=ie.join("")}return C&&(T=T.replace(/\s+/g," ").trim()),T}catch(e){throw e instanceof Error?e:new Error(String(e))}}},{key:"setReplaceTerms",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: setReplaceTerms must be an array of objects.");if(e.forEach((function(e){if(e&&"object"===u(e)){var r=i(Object.entries(e)[0],2),n=r[0],o=r[1],s=t.wordReplacementsList.findIndex((function(e){return e.hasOwnProperty(n)}));-1!==s?t.wordReplacementsList[s][n]=o:t.wordReplacementsList.push(a({},n,o))}else console.warn("Invalid entry in terms array:",e)})),this.wordReplacementsList.length>2e3)throw new Error("Too many replacement rules.");this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addReplaceTerm",value:function(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Invalid argument: term and replacement must be strings.");var r=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));if(-1!==r?this.wordReplacementsList[r][e]=t:this.wordReplacementsList.push(a({},e,t)),this.wordReplacementsList.length>2e3)throw new Error("Too many replacement rules.");this.options.wordReplacementsList=this.wordReplacementsList}},{key:"removeReplaceTerm",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: term must be a string.");var t=this.wordReplacementsList.findIndex((function(t){return Object.keys(t)[0]===e}));if(-1===t)throw new Error("Term '".concat(e,"' not found in word replacements list."));this.wordReplacementsList.splice(t,1),this.options.wordReplacementsList=this.wordReplacementsList,this.logWarning("Log the updated this.wordReplacementsList: ".concat(this.wordReplacementsList))}},{key:"addExactPhraseReplacements",value:function(e){var t=this;if(!Array.isArray(e))throw new TypeError("Invalid argument: newPhrases must be an array.");e.forEach((function(e){if("object"!==u(e)||Array.isArray(e)||1!==Object.keys(e).length){if("object"!==u(e)||Array.isArray(e))throw new TypeError("Invalid argument: Each item must be an object with a single key-value pair.");Object.entries(e).forEach((function(e){var r=i(e,2),n=r[0],a=r[1];if("string"!=typeof n||"string"!=typeof a)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[n]=a}))}else{var r=Object.keys(e)[0],n=e[r];if("string"!=typeof r||"string"!=typeof n)throw new TypeError("Invalid argument: Each key-value pair must contain strings.");t.phraseReplacementMap[r]=n}})),this.logWarning("Log the this.phraseReplacementMap: ".concat(this.phraseReplacementMap))}},{key:"setStyle",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid argument: style must be a string.");this.options.style=e}}],l=[{key:"shouldKeepCasing",value:function(e,t){return!!n.TitleCaserUtils.isRegionalAcronym(e)||!!n.TitleCaserUtils.hasUppercaseIntentional(e)||!!n.TitleCaserUtils.isWordInArray(e,t)}}],s&&c(t.prototype,s),l&&c(t,l),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,s,l}()}.apply(t,n),void 0===a||(e.exports=a)},416(e,t,r){var n,a;n=[t,r(223),r(814),r(661),r(157),r(321),r(742),r(501),r(491),r(16)],a=function(e,r,n,a,i,o,s,l,u,c){"use strict";function p(e){return e&&e.__esModule?e:{default:e}}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function f(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}Object.defineProperty(e,"__esModule",{value:!0}),t.wordReplacementsList=t.styleConfigMap=t.specialTermsList=t.shortWordsList=t.regionalAcronymPrecedingWordsList=t.regionalAcronymList=t.regionalAcronymFollowingWordsList=t.phraseReplacementMap=t.ignoredWordList=t.allowedStylesList=t.TITLE_CASE_STYLES=t.REGEX_PATTERNS=void 0,r=p(r),n=p(n),a=p(a),i=p(i),o=p(o),s=p(s),l=p(l),u=p(u),c=p(c);var m=function(){for(var e=[],t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.forEach((function(t){Array.isArray(t)?t.forEach((function(t){Object.values(t).forEach((function(t){e.push.apply(e,f(t))}))})):"object"===d(t)&&Object.values(t).forEach((function(t){e.push.apply(e,f(t))}))})),f(new Set(e))}(r.default,n.default,a.default,i.default,o.default,s.default,l.default,u.default,c.default),g=(t.specialTermsList=m,t.shortWordsList=["the","in","to","within","towards","into","at","of","for","by","on","from","with","through","about","across","over","under","between"],t.wordReplacementsList=[{"a.k.a":"AKA"},{"a.s.a.p":"ASAP"},{"f.a.q":"FAQ"},{"f.a.q.s":"FAQs"},{FAQS:"FAQs"},{"f.y.i":"FYI"},{"d.i.y":"DIY"},{"t.b.d":"TBD"},{"back-end":"Backend"},{"front-end":"Frontend"},{"full-stack":"Fullstack"},{nodejs:"Node.js"},{nextjs:"Next.js"},{nuxtjs:"Nuxt.js"},{reactjs:"React"},{"react.js":"React"},{"cyber-security":"Cybersecurity"}],t.TITLE_CASE_STYLES=Object.freeze({AP:"ap",APA:"apa",BRITISH:"british",CHICAGO:"chicago",NYT:"nyt",WIKIPEDIA:"wikipedia"}));t.allowedStylesList=Object.values(g),t.styleConfigMap=Object.freeze({ap:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},apa:{caseStyle:"title",shortConjunctionsList:["and","as","but","for","if","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["as","at","by","for","in","of","off","on","per","to","via"],neverCapitalizedList:[]},british:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},chicago:{caseStyle:"title",shortConjunctionsList:["and","but","or","for","nor","yet","so"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:["etc."]},nyt:{caseStyle:"title",shortConjunctionsList:["and","but","or","nor","yet","so","for"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]},wikipedia:{caseStyle:"sentence",shortConjunctionsList:["and","as","but","for","nor","or","so","yet"],articlesList:["a","an","the"],shortPrepositionsList:["at","by","for","in","of","off","on","out","per","to","via"],neverCapitalizedList:[]}}),t.ignoredWordList=[],t.phraseReplacementMap={"the cybersmile foundation":"The Cybersmile Foundation","co. by colgate":"CO. by Colgate","on & off":"On & Off","on and off":"On and Off"},t.REGEX_PATTERNS=Object.freeze({TRAILING_PUNCTUATION:/[.,!?;:]+$/,SPLIT_AT_PUNCTUATION:/([.,\/#!$%\^&\*;:{}=\-_`~()?])/g,HTML_BREAK:/<\s*br\s*\/?\s*>/gi,MULTIPLE_SPACES:/ {2,}/g,REGEX_ESCAPE:/[.*+?^${}()|[\]\\]/g}),t.regionalAcronymList=["usa","us","u.s.a","u.s.","u.s","u.s.a.","eu","e.u.","e.u","uk","u.k.","u.k"],t.regionalAcronymPrecedingWordsList=["the","via","among","across","beyond","outside","alongside","throughout","despite","unlike","upon"],t.regionalAcronymFollowingWordsList=["act","acts","administration","administrations","agency","agencies","agreement","agreements","airforce","airforces","aid","alliance","alliances","ambassador","ambassadors","authority","authorities","bill","bills","bloc","blocs","budget","budgets","bureau","bureaus","cabinet","cabinets","charter","charters","command","commands","commission","commissions","conference","conferences","congress","congresses","convention","conventions","council","councils","court","courts","defense","defences","defence","defenses","delegation","delegations","democracy","democracies","department","departments","development","developments","directive","directives","diplomacy","division","divisions","economy","economies","embassy","embassies","engagement","engagements","envoy","envoys","exports","federation","federations","finance","finances","forces","framework","frameworks","funding","government","governments","hearing","hearings","imports","initiative","initiatives","intel","intelligence","intervention","interventions","jurisdiction","jurisdictions","law","laws","leadership","leaders","legislation","liaison","liaisons","mandate","mandates","markets","marines","military","militaries","ministry","ministries","mission","missions","navy","navies","negotiations","office","offices","operations","oversight","parliament","parliaments","plan","plans","policies","policy","policy-makers","precedent","precedents","presence","program","programme","programmes","programs","project","projects","protocol","protocols","province","provinces","reform","reforms","regulation","regulations","regulator","regulators","relations","representation","representations","republic","republics","resolution","resolutions","ruling","rulings","sanctions","security","securities","senate","senates","service","services","state","states","statute","statutes","strategy","strategies","summit","summits","summitry","surveillance","talks","tariffs","territory","territories","trade","trades","treasury","treasuries","treaty","treaties","tribunal","tribunals","troops","union","unions","veterans","warships","zone","zones"]}.apply(t,n),void 0===a||(e.exports=a)},279(e,t,r){var n,a;n=[t,r(416)],a=function(e,r){"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i,o,s=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=u(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw i}}}}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function d(e,t,r){return(t=f(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}Object.defineProperty(e,"__esModule",{value:!0}),t.TitleCaserUtils=void 0;var y=t.TitleCaserUtils=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,u=[{key:"validateOption",value:function(e,t){if(!Array.isArray(t))throw new TypeError("Invalid option: ".concat(e," must be an array"));if(!t.every((function(e){return"string"==typeof e})))throw new TypeError("Invalid option: ".concat(e," must be an array of strings"))}},{key:"validateOptions",value:function(t){for(var n=0,a=Object.keys(t);n<a.length;n++){var i=a[n];if("style"!==i)if("wordReplacementsList"!==i){if(!r.styleConfigMap.hasOwnProperty(i))throw new TypeError("Invalid option: ".concat(i));e.validateOption(i,t[i])}else{if(!Array.isArray(t.wordReplacementsList))throw new TypeError("Invalid option: ".concat(i," must be an array"));var o,s=l(t.wordReplacementsList);try{for(s.s();!(o=s.n()).done;)if("string"!=typeof o.value)throw new TypeError("Invalid option: ".concat(i," must contain only strings"))}catch(e){s.e(e)}finally{s.f()}}else{if("string"!=typeof t.style)throw new TypeError("Invalid option: ".concat(i," must be a string"));if(!r.allowedStylesList.includes(t.style))throw new TypeError("Invalid option: ".concat(i," must be a string"))}}}},{key:"getTitleCaseOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=t.style||"ap",l=!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes,u="".concat(o,"|").concat(l,"|").concat(n.length>0?n.sort().join(","):"");if(e.titleCaseOptionsCache.has(u))return e.titleCaseOptionsCache.get(u);var c=s(s(s({},r.styleConfigMap[t.style||"ap"]),t),{},{smartQuotes:!!t.hasOwnProperty("smartQuotes")&&t.smartQuotes}),p=i(new Set([].concat(i(c.articlesList),i(n)))),d=i(new Set([].concat(i(c.shortConjunctionsList),i(n)))),f=i(new Set([].concat(i(c.shortPrepositionsList),i(n)))),y=[].concat(i((c.replaceTerms||[]).map((function(e){var t=a(e,2),r=t[0],n=t[1];return[r.toLowerCase(),n]}))),i(r.wordReplacementsList)),m={articlesList:p,shortConjunctionsList:d,shortPrepositionsList:f,neverCapitalizedList:i(c.neverCapitalizedList),replaceTerms:y,smartQuotes:c.smartQuotes};return e.titleCaseOptionsCache.set(u,m),m}},{key:"capitalizeFirstLetter",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1)}},{key:"isShortConjunction",value:function(t,r){var n=i(e.getTitleCaseOptions({style:r}).shortConjunctionsList),a=t.toLowerCase();return n.includes(a)}},{key:"isArticle",value:function(t,r){return e.getTitleCaseOptions({style:r}).articlesList.includes(t.toLowerCase())}},{key:"isShortPreposition",value:function(t,r){return e.getTitleCaseOptions({style:r}).shortPrepositionsList.includes(t.toLowerCase())}},{key:"isNeverCapitalized",value:function(t,r){var n="".concat(r,"_").concat(t.toLowerCase());if(e.isNeverCapitalizedCache.has(n))return e.isNeverCapitalizedCache.get(n);var a=e.getTitleCaseOptions({style:r}).neverCapitalizedList.includes(t.toLowerCase());return e.isNeverCapitalizedCache.set(n,a),a}},{key:"isShortWord",value:function(t,a){if("string"!=typeof t)throw new TypeError("Invalid input: word must be a string. Received ".concat(n(t),"."));if(!r.allowedStylesList.includes(a))throw new Error("Invalid option: style must be one of ".concat(r.allowedStylesList.join(", "),"."));return e.isShortConjunction(t,a)||e.isArticle(t,a)||e.isShortPreposition(t,a)||e.isNeverCapitalized(t,a)}},{key:"hasNumbers",value:function(e){return/\d/.test(e)}},{key:"hasUppercaseMultiple",value:function(e){for(var t=0,r=0;r<e.length&&t<2;r++)/[A-Z]/.test(e[r])&&t++;return t>=2}},{key:"hasUppercaseIntentional",value:function(e){if(e.length<=4)return/[A-Z]/.test(e.slice(1));var t=/[A-Z]/.test(e.slice(1)),r=/[a-z]/.test(e.slice(1));return t&&r}},{key:"isEntirelyUppercase",value:function(e){return e===e.toUpperCase()&&e!==e.toLowerCase()&&e.length>1}},{key:"isRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");if(e.length<2)return!1;var t=e.toLowerCase();return r.regionalAcronymList.includes(t)}},{key:"isRegionalAcronymNoDot",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w\s]/g,""),i=t.toLowerCase().replace(/[^\w\s]/g,"");return!!(n&&r.regionalAcronymList.includes(a)&&["the"].includes(n.toLowerCase()))||r.regionalAcronymList.includes(a)&&r.regionalAcronymFollowingWordsList.includes(i)}},{key:"isFinalWordRegionalAcronym",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if("string"!=typeof e||"string"!=typeof t)return!1;var a=e.toLowerCase().replace(/[^\w]/g,""),i=t.toLowerCase().replace(/[^\w]/g,""),o="string"==typeof n?n.toLowerCase().replace(/[^\w]/g,""):null;return!!(r.regionalAcronymList.includes(a)&&(r.regionalAcronymPrecedingWordsList.includes(i)||"the"===i&&o&&r.regionalAcronymPrecedingWordsList.includes(o)))}},{key:"normalizeRegionalAcronym",value:function(e){if("string"!=typeof e)throw new TypeError("Invalid input: word must be a string.");return e.toUpperCase()}},{key:"normalizeAcronymKey",value:function(e){return e.toLowerCase().replace(/\./g,"")}},{key:"normalizeCasingForWordByStyle",value:function(e,t){if(!e||!t||!r.styleConfigMap[t])return!1;var n=e.toLowerCase(),a=r.styleConfigMap[t],o=a.shortConjunctionsList,s=a.articlesList,l=a.shortPrepositionsList,u=a.neverCapitalizedList;return!![].concat(i(o),i(s),i(l),i(u)).includes(n)&&e}},{key:"hasSuffix",value:function(e){return e.length>2&&e.endsWith("'s")}},{key:"hasApostrophe",value:function(e){return-1!==e.indexOf("'")}},{key:"hasHyphen",value:function(e){return-1!==e.indexOf("-")||-1!==e.indexOf("–")||-1!==e.indexOf("—")}},{key:"hasRomanNumeral",value:function(e){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");var t=e.includes("'")?e.split("'"):[e],r=/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i;return t.every((function(e){return r.test(e)}))}},{key:"hasHyphenRomanNumeral",value:function(t){if("string"!=typeof t||""===t)throw new TypeError("Invalid input: word must be a non-empty string.");for(var r=t.split("-"),n=0;n<r.length;n++)if(!e.hasRomanNumeral(r[n]))return!1;return!0}},{key:"hasHtmlBreak",value:function(e){return"nl2br"===e}},{key:"hasUnicodeSymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u0100-\u017F\u0180-\u024F\u0250-\u02AF\u02B0-\u02FF\u0300-\u036F\u0370-\u03FF\u0400-\u04FF\u0500-\u052F\u0530-\u058F\u0590-\u05FF\u0600-\u06FF\u0700-\u074F\u0750-\u077F\u0780-\u07BF\u07C0-\u07FF\u0800-\u083F\u0840-\u085F\u0860-\u087F\u0880-\u08AF\u08B0-\u08FF\u0900-\u097F\u0980-\u09FF\u0A00-\u0A7F\u0A80-\u0AFF\u0B00-\u0B7F\u0B80-\u0BFF\u0C00-\u0C7F\u0C80-\u0CFF\u0D00-\u0D7F\u0D80-\u0DFF\u0E00-\u0E7F\u0E80-\u0EFF\u0F00-\u0FFF]/.test(e)}},{key:"hasCurrencySymbols",value:function(e){return/[^\x00-\x7F\u00A0-\u00FF\u20AC\u20A0-\u20B9\u20BD\u20A1-\u20A2\u00A3-\u00A5\u058F\u060B\u09F2-\u09F3\u0AF1\u0BF9\u0E3F\u17DB\u20A6\u20A8\u20B1\u2113\u20AA-\u20AB\u20AA\u20AC-\u20AD\u20B9]/.test(e)}},{key:"isWordAmpersand",value:function(e){return/&|&/.test(e)}},{key:"startsWithSymbol",value:function(e){if("string"!=typeof e)throw new Error("Parameter 'word' must be a string. Received '".concat(n(e),"' instead."));if(0===e.length)return!1;var t=e.charAt(0);return"#"===t||"@"===t||"."===t}},{key:"escapeSpecialCharacters",value:function(e){return e.replace(/[&<>"']/g,(function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";case"'":return"'";default:return e}}))}},{key:"unescapeSpecialCharacters",value:function(e){return e.replace(/&|<|>|"|'/g,(function(e){switch(e){case"&":return"&";case"<":return"<";case">":return">";case""":return'"';case"'":return"'";default:return e}}))}},{key:"endsWithSymbol",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[".",",",";",":","?","!"];if("string"!=typeof e||!Array.isArray(t))throw new Error("Invalid arguments");return t.some((function(t){return e.endsWith(t)}))||t.includes(e.slice(-2))}},{key:"isWordIgnored",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.ignoredWordList;if(!Array.isArray(n))throw new TypeError("Invalid input: ignoredWords must be an array.");if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");return t=e.toLowerCase().trim(),n.includes(t)}},{key:"isWordInArray",value:function(e,t){return!!Array.isArray(t)&&t.some((function(t){return t.toLowerCase()===e.toLowerCase()}))}},{key:"convertQuotesToCurly",value:function(e){for(var t={"'":["‘","’"],'"':["“","”"]},r="",n=0;n<e.length;n++){var a=e[n],i=t[a];if(i){var o=e[n-1],s=e[n+1],l=o&&" "!==o&&"\n"!==o?i[1]:i[0];r+=l,l===i[1]&&/[.,;!?()\[\]{}:]/.test(s)&&(r+=s,n++)}else r+=a}return r}},{key:"replaceTerm",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||"object"!==n(t))throw new TypeError("Invalid input: replaceTermObj must be a non-null object.");var r;if(r=e.toLowerCase(),t.hasOwnProperty(r))return t[r];if(t.hasOwnProperty(e))return t[e];var a=e.toUpperCase();return t.hasOwnProperty(a)?t[a]:e}},{key:"isElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim().toLowerCase().replace(/'/g,"’"),a=l(r);try{for(a.s();!(t=a.n()).done;){var i=t.value;if(n.startsWith(i))return!0}}catch(e){a.e(e)}finally{a.f()}return!1}},{key:"normalizeElidedWord",value:function(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Invalid input: word must be a non-empty string.");var t,r=new Set(["o’","fo’","ne’er","e’er","’tis","’twas","’n’"]),n=e.trim(),a=n.replace(/'/g,"’").toLowerCase(),i=l(r);try{for(i.s();!(t=i.n()).done;){var o=t.value;if(a.startsWith(o)){var s=o.length,u=n.slice(s);return o.charAt(0).toUpperCase()+o.slice(1)+(u.length>0?u.charAt(0).toUpperCase()+u.slice(1):"")}}}catch(e){i.e(e)}finally{i.f()}return!1}},{key:"correctSuffix",value:function(e,t){if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t)||t.some((function(e){return"string"!=typeof e})))throw new TypeError("Invalid input: correctTerms must be an array of strings.");if(/'s$/i.test(e)){var r=e.slice(0,-2),n=t.findIndex((function(e){return e.toLowerCase()===r.toLowerCase()}));if(n>=0){var a=t[n];return"".concat(a,"'s")}var i=r.charAt(0).toUpperCase()+r.slice(1);return"".concat(i,"'s")}return e}},{key:"correctTerm",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/[-']/;if("string"!=typeof e||""===e)throw new TypeError("Invalid input: word must be a non-empty string.");if(!t||!Array.isArray(t))throw new TypeError("Invalid input: correctTerms must be an array.");if(!("string"==typeof r||Array.isArray(r)||r instanceof RegExp))throw new TypeError("Invalid input: delimiters must be a string, an array of strings, or a regular expression.");"string"==typeof r?r=new RegExp("[".concat(r,"]")):Array.isArray(r)&&(r=new RegExp("[".concat(r.join(""),"]")));for(var n=e.split(r),a=n.length,i=function(){var e=n[o].toLowerCase(),r=t.findIndex((function(t){return t.toLowerCase()===e}));n[o]=r>=0?t[r]:n[o].charAt(0).toUpperCase()+n[o].slice(1).toLowerCase()},o=0;o<a;o++)i();var s=r.source.charAt(0);return e.includes("-")?s="-":e.includes("'")&&(s="'"),n.join(s)}},{key:"correctTermHyphenated",value:function(t,n){var a=t.match(/[-–—]/);if(!a)return t;var i=a[0],o=t.split(/[-–—]/),s=o.some((function(e){return r.regionalAcronymList.includes(e.toLowerCase().replace(/[^\w]/g,""))})),l=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},u=function(e){return e.charAt(0)+e.slice(1).toLowerCase()},c={ap:function(e,t){return s||0===t?l(e):u(e)},chicago:l,apa:function(t,r,a){return!s&&e.isShortWord(t,n)&&r>0&&r<a-1?t.toLowerCase():l(t)},nyt:l,wikipedia:function(e,t){return 0===t?l(e):u(e)}}[n]||u;return o.map((function(e,t){var n=e,a=e.toLowerCase().replace(/[^\w]/g,"");if(r.regionalAcronymList.includes(a))return e.toUpperCase();if(/^(M{0,3})(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/i.test(e))return e.toUpperCase();var i=e.toLowerCase(),s=r.specialTermsList.findIndex((function(e){return e.toLowerCase()===i}));return s>=0&&(n=r.specialTermsList[s]),c(n,t,o.length)})).join(i)}}],(o=null)&&p(t.prototype,o),u&&p(t,u),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,o,u}();d(y,"TitleCaseValidator",void 0),d(y,"titleCaseOptionsCache",new Map),d(y,"isNeverCapitalizedCache",new Map)}.apply(t,n),void 0===a||(e.exports=a)},223(e){"use strict";e.exports=JSON.parse('{"sports":["FIFA","UEFA","NBA","NFL","MLB","NHL","NASCAR","IOC","FIBA","ATP","WTA","PGA","LPGA","FIA","WADA","ITF","AFL","NRL","ICC","IRB","IHF","FIVB","FINA","UCI","IAAF","ISU","WSF","BWF","WBC","WBO","IBF","IBO","UEFA","CONMEBOL","CONCACAF","CAF","AFC","OFC","CPL","MLS","LaLiga","Bundesliga","Ligue1","Eredivisie","JLeague","KLeague","Ryder Cup","Davis Cup","FedCup","XGames","Olympics","Paralympics","Dakar"],"apple":["Apple","AirDrop","AirPlay","AirPods","AirTags","FinalCut","GarageBand","iBooks","iCloud","iLife","iMac","iMessage","iMovie","iPhoto","iWatch","iWork","LogicPro","macOS","ProTools","QuickTime","iPhone","iPad","iPod","iOS","macOS","tvOS","watchOS"],"corporate":["Deloitte","Devoteam","ExxonMobil","GE","Boeing","Shell","Chevron"],"tech":["Bing","Salesforce","Asus","Acer","Lenovo","Huawei","Xiaomi","Epson","Nvidia","AMD","Qualcomm","Logitech","Panasonic","Sharp","Toshiba","Philips","Fujitsu","Netgear","Lexmark","Razer","SAP","Symantec","Kaspersky","Avast","McAfee","Siemens","Canon","Nikon","Garmin","GoPro","Oculus","Zoom","Slack","Trello","WeChat","Alibaba","Tencent","Baidu","Roku","Fitbit","Dropbox","Reddit","TikTok","Slack","Trello","Uber","Zoom","Reddit","Quora","JIRA","ZoomInfo","HubSpot","Mailchimp","WeChat","Dropbox","Uber","Telegram","Discord","StackOverflow","Quora","Reddit","ZoomInfo","Airbnb","LinkedIn","Snapchat","GitHub","GitLab","Nginx","OpenSSL","Webpack","Unity3D","Figma","JIRA","Kubernetes","TensorFlow","NPM","WooCommerce","WordPress","Slack","Trello","Uber","Zoom","Reddit","Quora","WeChat","Dropbox","Telegram","Discord","StackOverflow","Airbnb","LinkedIn","Snapchat","JIRA","MobX","VMware","Google"],"business":["Visa","Mastercard","Citibank","JPMorgan","Barclay","AMEX","Citigroup","PayPal","BNP","HSBC","Santander","UBS","Allianz","Prudential","Vanguard","BlackRock","CapitalOne","TD","Robinhood","MoneyGram","SoFi","Experian","Equifax","TransUnion","MasterCard","Blockchain","Coinbase","Binance","Kraken","Ethereum","Bitcoin"],"automotive":["BMW","Ford","Mercedes","Nissan","Tesla","Toyota","Audi","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Honda","Hyundai","Infiniti","Jaguar","Jeep","Kia","Lamborghini","LandRover","Lexus","Maserati","Mazda","McLaren","Mitsubishi","Peugeot","Porsche","Renault","RollsRoyce","Saab","Subaru","Suzuki","Volkswagen","Volvo","Alfa Romeo","Bentley","Bugatti","Cadillac","Citroen","Daewoo","Daihatsu","Datsun","DeLorean","Fiat Chrysler","GMC","Holden","Hummer","Isuzu","Koenigsegg","Lancia","Lincoln","Lotus","Mahindra","Suzuki","Opel","Pagani","Perodua","Proton","Rover","Scania","Skoda","SsangYong","Tata","Vauxhall","VinFast","Yugo","Zenvo"],"media":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","HBO","Showtime","Starz","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Vine","Zynga","Tidal","Quibi","Crave","Gaia","PlutoTV","Vudu","Kanopy","Mubi","BritBox"],"telecom":["Verizon","Sprint","Nokia","Ericsson","Vodafone","AT&T","Huawei","Xiaomi","Orange","NTT","T-Mobile","Telefonica","Airtel","Telstra","Rogers","Bell","MTN","ZTE","Qualcomm","Motorola","Telus","BT","Swisscom","SoftBank","KDDI"],"entertainment":["Disney","Netflix","YouTube","Instagram","Twitter","Facebook","Spotify","Hulu","TikTok","Snapchat","Vimeo","Twitch","Reddit","Pandora","HBO","Showtime","Starz","Paramount","Peacock","Crunchyroll","Audible","Pixar","DreamWorks","MGM","Lionsgate","Miramax","EpicGames","Ubisoft","Blizzard","Capcom","Bethesda","Sega","Roku","Fandango","IMDb","Shazam","SoundCloud","Vevo","Zynga","Tidal","Oscars"],"retail":["Amazon","eBay","IKEA","Walmart","Zara","Target","Costco","Sephora","Nordstrom","Tesco","Asda","Aldi","Lidl","Carrefour","Uniqlo","H&M","Gap","Cabela’s","BassPro","REI","Ulta","Saks","JCPenney","Belk","Argos","Safeway","Kroger","Publix","HomeDepot","Woolworths","Staples","OfficeMax","B&H","Newegg","MicroCenter","Frys","Monoprix","Waitrose","Morrisons","Ocado","Flipkart","Rakuten","Alibaba","JD","Taobao","Tmall","Guomei","Suning"],"food":["Nestle","Pepsi","Coca-Cola","PepsiCo","Starbucks","KFC","BurgerKing","PizzaHut","TacoBell","Kroger","Costco","Woolworths","Carrefour","Tesco","Aldi","Lidl","Walmart","Safeway","Publix","WholeFoods","RedBull","Monster","Nespresso","Heineken","Budweiser","Corona","Guinness","GeneralMills","Unilever","Kraft","Heinz","Danone","Campbell","Tyson","Conagra","Mondelez","Suntory","Diageo","Pernod"],"pharmaceutical":["Pfizer","Moderna","Gilead","Merck","Novartis","Sanofi","Roche","AbbVie","Amgen","Bayer","Biogen","BristolMyers","Celgene","GSK","Janssen","Lilly","Medtronic","Mylan","NovoNordisk","Regeneron","Teva","AstraZeneca","Boehringer","Daiichi","Eisai","Genentech","Grifols","Ipsen","Mundipharma","Otsuka","Purdue","Sandoz","Servier","SunPharma","Takeda","UCB","Viatris","Wockhardt","Zydus","Alkem"],"nonprofit":["NGO","NPO","NGOs","NPOs","UN","UNESCO","UNICEF","UNHCR","UNODC","UNDP","UNFPA","UNEP","UNRWA"]}')},814(e){"use strict";e.exports=JSON.parse('{"commercial":["Ltd.","LLC","PLC","Co.","Inc.","St.","Ave.","Bldg.","No.","GmbH"],"titles":["CEO","CEOs","CFO","CFOs","CIO","CIOs","CMO","CMOs","COO","COOs","CPO","CPOs","CRO","CROs","CSO","CSOs","CTO","CTOs","EVP","EVPs","HR","HRs","SVP","SVPs","VP","VPs","CMTO","CDO"],"accounting":["AP","COGS","EBIT","EPS","FIFO","GAAP","LIFO","P&L","ROI","SOX","TCO","VAT","EBITDA","NPV","WACC","AR"],"finance":["CAGR","DCF","ETF","IPO","IRR","M&A","NAV","PE","PEG","PPE","ROE","S&P","TVM","VC","FOMC","FX","ETF"],"legal":["AFA","ADR","CCPA","CFAA","CISG","DMCA","EULA","GDPR","HIPAA","NDA","SOW","TOS","LLM","JD","Esq.","AG","SARL","KYC","AML","ph.d.","m.d.","d.d.s.","d.m.d.","d.o.","d.c.","d.v.m.","d.n.p.","d.p.m.","d.s.w.","d.s.n.","d.n.sc.","d.n.a.","d.n.t.","d.n.p.t.","d.n.o.","d.n.m.","d.n.e.","d.n.s.","d.n.p.s."]}')},661(e){"use strict";e.exports=JSON.parse('{"eterms":["eBook","eBooks","eMarket","eMarketplace","eMarketplaces","eMarkets","eReader","eShop","eShops","eStore","eStores","E-commerce","E-com"]}')},157(e){"use strict";e.exports=JSON.parse('{"countries":["Afghanistan","Albania","Algeria","Andorra","Angola","Antigua and Barbuda","Argentina","Armenia","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Brazil","Brunei","Bulgaria","Burkina Faso","Burundi","Cabo Verde","Cambodia","Cameroon","Canada","Central African Republic","Chad","Chile","China","Colombia","Comoros","Congo","Costa Rica","Cote d\'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Eswatini","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Greece","Grenada","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Zealand","Nicaragua","Niger","Nigeria","North Macedonia","Norway","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Qatar","Romania","Russia","Rwanda","Saint Kitts and Nevis","Saint Lucia","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe"],"alpha2":["UK"],"alpha3":["USA"]}')},321(e){"use strict";e.exports=JSON.parse('{"advertising":["AdWords","AdSense","AdMob","DoubleClick","SpotX"],"digitalMarketing":["DSP","SSP","CTR","CPA","CPC","CPL","CPM","CRM","SEO","SEM","SMM","A/B","CTOR","KPI","SERP","FAQ","PR"],"general":["B2B","B2C","CMO","USP","PWA","SMO","T&C","TOS","PP","UI","UX","UI/UX"],"blockchain":["PoE","PoW","PoC"],"accessibility":["A11Y"]}')},16(e){"use strict";e.exports=JSON.parse('{"ranks":["Pvt.","Cpl.","Sgt.","SSgt.","GySgt.","MSgt.","1stSgt.","SgtMaj.","WO1","CW2","CW3","CW4","CW5","2ndLt.","1stLt.","Capt.","Maj.","LtCol.","Col.","BrigGen.","MajGen.","LtGen.","Gen.","Adm.","Cpt.","Cmdr.","Lt.","Ens."],"branches":["Army","Navy","Air Force","Marines","Coast Guard","Space Force","National Guard","People\'s Liberation Army","Russian Ground Forces","JASDF","ROKA"],"units":["Platoon","Company","Battalion","Regiment","Brigade","Division","Corps","Squad","Fleet","Wing","Squadron","Task Force","Eurocorps","Battlegroup","Rapid Reaction Force","Joint Expeditionary Force"],"acronyms":["DoD","NATO","EUFOR","EUTM","OSCE","UNSC","JAG","ROTC","AFB","MOS","AWOL","MRE","IED","FOB","TOC","CONUS","OCONUS","UCMJ","USMC","USAF","USN","USA","SOCOM","CENTCOM","NORAD","PACOM","JTF","RPG","SAM","ASEAN","AUKUS","QUAD","CSTO","SCO","CFSP","EEAS","EUMS","Frontex","GRU","FSB","PLAN","PLAAF"],"equipment":["Humvee","MRAP","Apache","Black Hawk","Bradley","Abrams","F-16","F-22","F-35","B-2","B-52","C-130","LCAC","MRE"],"operations":["Operation Desert Storm","Operation Enduring Freedom","Operation Iraqi Freedom","Operation Inherent Resolve"],"treaties":["Lisbon Treaty","Maastricht Treaty","Treaty of Rome","Nice Treaty","Schengen Agreement"],"regions":["South China Sea","Taiwan Strait","Korean DMZ","Kashmir","Kuril Islands","Senkaku Islands"],"alliances":["NATO","AUKUS","QUAD","ASEAN","SCO","CSTO","Five Eyes"]}')},742(e){"use strict";e.exports=JSON.parse('{"miscellaneous":["w/","w/o","Open Source","Cybersecurity","Ecosystem","Biodiversity","LGBT","LGBTQ+","LGBTQIA+","2SLGBTQ+","BIPOC"]}')},501(e){"use strict";e.exports=JSON.parse('{"terms":["API","APIs","ASCII","CI","CLI","DLL","DNS","EC2","FTP","HTTP","HTTPS","ICMP","IDE","IP","ISP","LPWAN","M2M","MQTT","OOP","REST","SSH","SSL","TCP","UDP","URL","WLAN","WYSIWYG","IMAP","RSS","IaaS","PaaS","SaaS","CaaS","FaaS","XaaS","RaaS","IoE","IoT","LoRa","NB-IoT","RFID","RF","RFI","RFQ","ECMAScript","IO","I/O","DevOps","SecOps","DDoS","VoIP","AI","AR","ML","VR","CI/CD","DevSecOps","UI/UX","UX/UI","UI","UX","MVC","ORM","3G","4G","5G","NumPy","VPN","PKI","WAN","NAT","GPU","SSD","HDD","RAM","Frontend","Backend","Fullstack"],"legal":["DMCA","GDPR","HIPAA","NDA","SOW","TOS"],"languages":["JavaScript","TypeScript","Java","PHP","SQL","CSS",".NET","ES5","ES6","NoSQL","DynamoDB","Terraform","CloudFormation","RDS","Python","Ruby","Go","Swift","Kotlin","Perl"],"formats":["JSON","XML","YAML","GraphQL","WebSocket","RESTful"],"secops":["RaaS","DevSecOps","SecOps","Cybersecurity","DDoS"],"technologies":["AWS","Azure","GCP","VMware","Docker","Ansible","Chef","Puppet","Git","Subversion","Jenkins","CircleCI","Hadoop","Spark","BigQuery","PowerBI","Tableau"],"os":["Android","macOS","Windows","Linux","iOS","Ubuntu","CentOS","Fedora","Debian","SUSE","HarmonyOS","FreeRTOS","BeOS","BSD","Cordova","Flutter"],"programming":["Angular","Bootstrap","CodeIgniter","jQuery","Laravel","Redux","Vue.js","VueX","SCSS","AJAX","GraphQL","HTML","HTML5","MySQL","MongoDB","PostgresQL","SQLite","ASP","ASPX","Elasticsearch","Nginx","OpenSSL","Webpack","Unity3D","Kubernetes","TensorFlow","NPM","cURL"]}')},491(e){"use strict";e.exports=JSON.parse('{"timeRelated":["a.m.","p.m.","ca.","cc.","fig.","pl.","pt.","rev.","sr.","v.","vol.","et al.","pp.","p."],"academic":["adj.","adv.","cf.","cm.","co.","corp.","dept.","dist.","ed.","edn.","esp.","etc.","ex.","i.e.","e.g.","op. cit.","vs."]}')}},t={};(function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports})(987)})();
|