wikiparser-node 1.17.1 → 1.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/bin/config.js +5 -0
- package/bundle/bundle-es7.min.js +34 -0
- package/bundle/bundle-lsp.min.js +38 -0
- package/bundle/bundle.min.js +22 -22
- package/config/.schema.json +2 -2
- package/config/default.json +86 -23
- package/config/enwiki.json +20 -13
- package/config/llwiki.json +99 -7
- package/config/minimum.json +6 -3
- package/config/moegirl.json +12 -12
- package/config/zhwiki.json +52 -21
- package/data/ext/score.json +1033 -0
- package/data/signatures.json +141 -353
- package/dist/base.d.mts +9 -1
- package/dist/base.d.ts +9 -1
- package/dist/bin/config.js +118 -0
- package/dist/index.js +4 -4
- package/dist/lib/document.d.ts +2 -1
- package/dist/lib/document.js +10 -5
- package/dist/lib/lsp.d.ts +21 -2
- package/dist/lib/lsp.js +372 -89
- package/dist/src/attribute.js +10 -4
- package/dist/src/index.js +2 -2
- package/dist/src/nowiki/doubleUnderscore.js +3 -2
- package/dist/util/diff.js +1 -1
- package/dist/util/lint.js +31 -1
- package/extensions/dist/base.js +2 -2
- package/extensions/es7/base.js +2 -2
- package/i18n/zh-hans.json +1 -0
- package/i18n/zh-hant.json +1 -0
- package/package.json +25 -16
- package/bundle/bundle.es7.js +0 -34
- package/bundle/bundle.lsp.js +0 -38
- package/dist/util/sharable.d.ts +0 -1
package/dist/src/attribute.js
CHANGED
|
@@ -51,7 +51,7 @@ const debug_1 = require("../util/debug");
|
|
|
51
51
|
const document_1 = require("../lib/document");
|
|
52
52
|
const fixed_1 = require("../mixin/fixed");
|
|
53
53
|
const stages = { 'ext-attr': 0, 'html-attr': 2, 'table-attr': 3 };
|
|
54
|
-
const insecureStyle = /expression|(?:accelerator|-o-link(?:-source)?|-o-replace)\s*:|(?:url|image(?:-set)?)\s*\(|attr\s*\([^)]+[\s,]url/u;
|
|
54
|
+
const insecureStyle = /expression|(?:accelerator|-o-link(?:-source)?|-o-replace)\s*:|(?:url|image(?:-set)?)\s*\(|attr\s*\([^)]+[\s,]url/u, complexTypes = new Set(['ext', 'arg', 'magic-word', 'template']);
|
|
55
55
|
/**
|
|
56
56
|
* attribute of extension and HTML tags
|
|
57
57
|
*
|
|
@@ -201,9 +201,6 @@ let AttributeToken = (() => {
|
|
|
201
201
|
e.suggestions = [{ desc: 'remove', range: [start, start + length], text: '' }];
|
|
202
202
|
errors.push(e);
|
|
203
203
|
}
|
|
204
|
-
else if (sharable_1.obsoleteAttrs[tag]?.has(name)) {
|
|
205
|
-
errors.push((0, lint_1.generateForChild)(firstChild, rect, 'obsolete-attr', 'obsolete attribute', 'warning'));
|
|
206
|
-
}
|
|
207
204
|
else if (name === 'style' && typeof value === 'string' && insecureStyle.test(value)) {
|
|
208
205
|
errors.push((0, lint_1.generateForChild)(lastChild, rect, 'insecure-style', 'insecure style'));
|
|
209
206
|
}
|
|
@@ -215,6 +212,15 @@ let AttributeToken = (() => {
|
|
|
215
212
|
];
|
|
216
213
|
errors.push(e);
|
|
217
214
|
}
|
|
215
|
+
else if (type !== 'ext-attr' && !lastChild.childNodes.some(({ type: t }) => complexTypes.has(t))) {
|
|
216
|
+
const data = lint_1.htmlData.provideValues(tag, name), v = String(value).toLowerCase();
|
|
217
|
+
if (data.length > 0 && data.every(({ name: n }) => n !== v)) {
|
|
218
|
+
errors.push((0, lint_1.generateForChild)(lastChild, rect, 'illegal-attr', 'illegal attribute value', 'warning'));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (sharable_1.obsoleteAttrs[tag]?.has(name)) {
|
|
222
|
+
errors.push((0, lint_1.generateForChild)(firstChild, rect, 'obsolete-attr', 'obsolete attribute', 'warning'));
|
|
223
|
+
}
|
|
218
224
|
return errors;
|
|
219
225
|
}
|
|
220
226
|
/**
|
package/dist/src/index.js
CHANGED
|
@@ -61,6 +61,7 @@ const range_1 = require("../lib/range");
|
|
|
61
61
|
/* NOT FOR BROWSER END */
|
|
62
62
|
/* NOT FOR BROWSER ONLY */
|
|
63
63
|
const document_1 = require("../lib/document");
|
|
64
|
+
const lsp_1 = require("../lib/lsp");
|
|
64
65
|
/* NOT FOR BROWSER */
|
|
65
66
|
/**
|
|
66
67
|
* 可接受的Token类型
|
|
@@ -524,8 +525,7 @@ class Token extends element_1.AstElement {
|
|
|
524
525
|
});
|
|
525
526
|
/* NOT FOR BROWSER ONLY */
|
|
526
527
|
}
|
|
527
|
-
else if (
|
|
528
|
-
&& this.parentNode.name === 'style') {
|
|
528
|
+
else if ((0, lsp_1.isAttr)(this, true)) {
|
|
529
529
|
const root = this.getRootNode(), textDoc = new document_1.EmbeddedCSSDocument(root, this);
|
|
530
530
|
errors.push(...document_1.cssLSP.doValidation(textDoc, textDoc.styleSheet)
|
|
531
531
|
.filter(({ code }) => code !== 'css-ruleorselectorexpected')
|
|
@@ -62,6 +62,7 @@ let DoubleUnderscoreToken = (() => {
|
|
|
62
62
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
63
63
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
64
64
|
}
|
|
65
|
+
/* NOT FOR BROWSER */
|
|
65
66
|
#sensitive;
|
|
66
67
|
/* NOT FOR BROWSER END */
|
|
67
68
|
get type() {
|
|
@@ -73,10 +74,10 @@ let DoubleUnderscoreToken = (() => {
|
|
|
73
74
|
*/
|
|
74
75
|
constructor(word, sensitive, config, accum) {
|
|
75
76
|
super(word, config, accum);
|
|
77
|
+
const lc = word.toLowerCase(), { doubleUnderscore: [, , iAlias, sAlias] } = config;
|
|
78
|
+
this.setAttribute('name', (sensitive ? sAlias?.[word]?.toLowerCase() : iAlias?.[lc]) ?? lc);
|
|
76
79
|
/* NOT FOR BROWSER */
|
|
77
|
-
const lc = word.toLowerCase();
|
|
78
80
|
this.#sensitive = sensitive;
|
|
79
|
-
this.setAttribute('name', sensitive ? lc : config.doubleUnderscore[2]?.[lc] ?? lc);
|
|
80
81
|
this.setAttribute('pattern', new RegExp(`^${word}$`, sensitive ? 'u' : 'iu'));
|
|
81
82
|
}
|
|
82
83
|
/** @private */
|
package/dist/util/diff.js
CHANGED
|
@@ -73,7 +73,7 @@ const diff = async (oldStr, newStr, uid) => {
|
|
|
73
73
|
newFile,
|
|
74
74
|
]);
|
|
75
75
|
console.log(stdout?.split('\n').slice(4).join('\n'));
|
|
76
|
-
await Promise.
|
|
76
|
+
await Promise.allSettled([promises_1.default.unlink(oldFile), promises_1.default.unlink(newFile)]);
|
|
77
77
|
};
|
|
78
78
|
exports.diff = diff;
|
|
79
79
|
/* istanbul ignore next */
|
package/dist/util/lint.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.cache = exports.generateForSelf = exports.generateForChild = exports.getEndPos = void 0;
|
|
6
|
+
exports.htmlData = exports.cache = exports.generateForSelf = exports.generateForChild = exports.getEndPos = void 0;
|
|
7
7
|
const debug_1 = require("./debug");
|
|
8
8
|
const rect_1 = require("../lib/rect");
|
|
9
9
|
const index_1 = __importDefault(require("../index"));
|
|
@@ -65,3 +65,33 @@ const cache = (store, compute, update) => {
|
|
|
65
65
|
return result;
|
|
66
66
|
};
|
|
67
67
|
exports.cache = cache;
|
|
68
|
+
let htmlData;
|
|
69
|
+
try {
|
|
70
|
+
exports.htmlData = htmlData = require('vscode-html-languageservice')
|
|
71
|
+
.getDefaultHTMLDataProvider();
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
/**
|
|
75
|
+
* 获取HTML属性值可选列表
|
|
76
|
+
* @param tag 标签名
|
|
77
|
+
* @param attribute 属性名
|
|
78
|
+
*/
|
|
79
|
+
const provideValues = (tag, attribute) => {
|
|
80
|
+
if (tag === 'ol' && attribute === 'type') {
|
|
81
|
+
return ['1', 'a', 'A', 'i', 'I'];
|
|
82
|
+
}
|
|
83
|
+
else if (tag === 'th' && attribute === 'scope') {
|
|
84
|
+
return ['row', 'col', 'rowgroup', 'colgroup'];
|
|
85
|
+
}
|
|
86
|
+
else if (attribute === 'dir') {
|
|
87
|
+
return ['ltr', 'rtl', 'auto'];
|
|
88
|
+
}
|
|
89
|
+
return attribute === 'aria-hidden' ? ['true', 'false'] : [];
|
|
90
|
+
};
|
|
91
|
+
exports.htmlData = htmlData = {
|
|
92
|
+
/** @implements */
|
|
93
|
+
provideValues(tag, attribute) {
|
|
94
|
+
return provideValues(tag, attribute).map(value => ({ name: value }));
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
package/extensions/dist/base.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
(() => {
|
|
2
2
|
var _a;
|
|
3
|
-
const version = '1.
|
|
3
|
+
const version = '1.18.1', src = (_a = document.currentScript) === null || _a === void 0 ? void 0 : _a.src, file = /\/extensions\/dist\/base\.(?:min\.)?js$/u, CDN = src && file.test(src)
|
|
4
4
|
? src.replace(file, '')
|
|
5
5
|
: `https://testingcf.jsdelivr.net/npm/wikiparser-node@${version}`;
|
|
6
6
|
const workerJS = () => {
|
|
7
|
-
importScripts('$CDN/bundle/bundle
|
|
7
|
+
importScripts('$CDN/bundle/bundle-lsp.min.js');
|
|
8
8
|
const entities = { '&': 'amp', '<': 'lt', '>': 'gt' }, lsps = new Map(), last = { include: true };
|
|
9
9
|
const parse = (wikitext, include = false, stage) => {
|
|
10
10
|
if (stage === undefined && last.wikitext === wikitext && last.include === include) {
|
package/extensions/es7/base.js
CHANGED
|
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var _a;
|
|
12
|
-
const version = '1.
|
|
12
|
+
const version = '1.18.1', src = (_a = document.currentScript) === null || _a === void 0 ? void 0 : _a.src, file = /\/extensions\/dist\/base\.(?:min\.)?js$/u, CDN = src && file.test(src)
|
|
13
13
|
? src.replace(file, '')
|
|
14
14
|
: `https://testingcf.jsdelivr.net/npm/wikiparser-node@${version}`;
|
|
15
15
|
const workerJS = () => {
|
|
16
|
-
importScripts('$CDN/bundle/bundle
|
|
16
|
+
importScripts('$CDN/bundle/bundle-es7.min.js');
|
|
17
17
|
const entities = { '&': 'amp', '<': 'lt', '>': 'gt' }, lsps = new Map(), last = { include: true };
|
|
18
18
|
const parse = (wikitext, include = false, stage) => {
|
|
19
19
|
if (stage === undefined && last.wikitext === wikitext && last.include === include) {
|
package/i18n/zh-hans.json
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"HTML comment": "HTML注释",
|
|
22
22
|
"HTML tag in table attributes": "表格属性中的HTML标签",
|
|
23
23
|
"illegal attribute name": "非法的属性名",
|
|
24
|
+
"illegal attribute value": "非法的属性值",
|
|
24
25
|
"illegal module name": "非法的模块名称",
|
|
25
26
|
"inconsistent table layout": "不一致的表格布局",
|
|
26
27
|
"insecure style": "不安全的样式",
|
package/i18n/zh-hant.json
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"HTML comment": "HTML註釋",
|
|
22
22
|
"HTML tag in table attributes": "表格屬性中的HTML標籤",
|
|
23
23
|
"illegal attribute name": "非法的屬性名",
|
|
24
|
+
"illegal attribute value": "非法的屬性值",
|
|
24
25
|
"illegal module name": "非法的模組名稱",
|
|
25
26
|
"inconsistent table layout": "不一致的表格佈局",
|
|
26
27
|
"insecure style": "不安全的樣式",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wikiparser-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"description": "A Node.js parser for MediaWiki markup with AST",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mediawiki",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"license": "GPL-3.0",
|
|
15
15
|
"author": "Bhsd",
|
|
16
16
|
"files": [
|
|
17
|
-
"/bundle/bundle
|
|
17
|
+
"/bundle/bundle*.js",
|
|
18
18
|
"/extensions/typings.d.ts",
|
|
19
19
|
"/extensions/*/*.js",
|
|
20
20
|
"/extensions/*.css",
|
|
@@ -27,12 +27,18 @@
|
|
|
27
27
|
"/printed/README",
|
|
28
28
|
"/errors/README",
|
|
29
29
|
"/config/",
|
|
30
|
+
"!/config/jawiki.json",
|
|
30
31
|
"/data/",
|
|
31
32
|
"/i18n/",
|
|
32
33
|
"/coverage/badge.svg",
|
|
34
|
+
"/bin/*.js",
|
|
33
35
|
"/dist/",
|
|
34
|
-
"!/dist/
|
|
36
|
+
"!/dist/script/",
|
|
37
|
+
"!/dist/test/"
|
|
35
38
|
],
|
|
39
|
+
"bin": {
|
|
40
|
+
"getParserConfig": "bin/config.js"
|
|
41
|
+
},
|
|
36
42
|
"browser": "/bundle/bundle.min.js",
|
|
37
43
|
"main": "./dist/index.js",
|
|
38
44
|
"types": "./dist/index.d.ts",
|
|
@@ -42,18 +48,18 @@
|
|
|
42
48
|
"url": "git+https://github.com/bhsd-harry/wikiparser-node.git"
|
|
43
49
|
},
|
|
44
50
|
"scripts": {
|
|
45
|
-
"toc": "node dist/
|
|
46
|
-
"declaration": "grep -rl --include='*.d.ts' '@private' dist/ | xargs bash sed.sh -i -E '/^\\s+\\/\\*\\* @private/,+1d'; grep -rl --include='*.d.ts' '/util/' dist/ | xargs bash sed.sh -i -E '/^import .+\\/util\\//d'; bash sed.sh -i -E 's/abstract (lint|print|text)\\b/\\1/' dist/lib/node.d.ts; node dist/
|
|
51
|
+
"toc": "node dist/script/toc.js",
|
|
52
|
+
"declaration": "grep -rl --include='*.d.ts' '@private' dist/ | xargs bash sed.sh -i -E '/^\\s+\\/\\*\\* @private/,+1d'; grep -rl --include='*.d.ts' '/util/' dist/ | xargs bash sed.sh -i -E '/^import .+\\/util\\//d'; bash sed.sh -i -E 's/abstract (lint|print|text)\\b/\\1/' dist/lib/node.d.ts; node dist/script/declaration.js",
|
|
47
53
|
"prepublishOnly": "npm run build:core",
|
|
48
54
|
"build:core": "bash build.sh",
|
|
49
|
-
"build": "npm run build:core && node dist/
|
|
55
|
+
"build": "npm run build:core && node dist/script/parserTests.js",
|
|
50
56
|
"diff": "bash diff.sh",
|
|
51
57
|
"diff:stat": "f() { git diff --stat --ignore-all-space --color=always $1 $2 -- . | grep '\\.ts'; }; f",
|
|
52
58
|
"lint:ts": "tsc --noEmit && eslint --cache .",
|
|
53
|
-
"lint:json": "v8r -s config/.schema.json config/*.json && v8r -s data/.schema.json data/*.json &&
|
|
59
|
+
"lint:json": "v8r -s config/.schema.json config/*.json && v8r -s data/.schema.json data/*.json && mocha dist/test/json.js",
|
|
54
60
|
"lint": "npm run lint:ts && npm run lint:json",
|
|
55
61
|
"prof": "node dist/test/prof.js",
|
|
56
|
-
"coverage": "nyc --cache-dir=./.cache/nyc npm test && node dist/
|
|
62
|
+
"coverage": "nyc --cache-dir=./.cache/nyc npm test && node dist/script/coverage.js && open coverage/index.html",
|
|
57
63
|
"test:unit": "mocha dist/test/test.js",
|
|
58
64
|
"test:clonenode": "CLONENODE=1 npm run test:unit",
|
|
59
65
|
"test:parser": "mocha dist/test/parserTests.js",
|
|
@@ -72,28 +78,29 @@
|
|
|
72
78
|
]
|
|
73
79
|
},
|
|
74
80
|
"dependencies": {
|
|
75
|
-
"@bhsd/common": "^0.
|
|
76
|
-
"@codemirror/lint": "^6.8.4",
|
|
77
|
-
"codejar-async": "^4.2.6",
|
|
78
|
-
"monaco-editor": "^0.52.2",
|
|
81
|
+
"@bhsd/common": "^0.8.0",
|
|
79
82
|
"vscode-languageserver-types": "^3.17.5"
|
|
80
83
|
},
|
|
81
84
|
"optionalDependencies": {
|
|
82
85
|
"chalk": "^4.1.2",
|
|
86
|
+
"color-name": "^2.0.0",
|
|
83
87
|
"entities": "^6.0.0",
|
|
84
88
|
"stylelint": "^16.14.1",
|
|
85
89
|
"vscode-css-languageservice": "^6.3.2",
|
|
86
|
-
"vscode-
|
|
87
|
-
"vscode-
|
|
90
|
+
"vscode-html-languageservice": "^5.3.1",
|
|
91
|
+
"vscode-json-languageservice": "^5.4.3"
|
|
88
92
|
},
|
|
89
93
|
"devDependencies": {
|
|
94
|
+
"@codemirror/lint": "^6.8.4",
|
|
90
95
|
"@stylistic/eslint-plugin": "^3.1.0",
|
|
91
96
|
"@stylistic/stylelint-plugin": "^3.1.2",
|
|
97
|
+
"@types/color-name": "^2.0.0",
|
|
92
98
|
"@types/color-rgba": "^2.1.3",
|
|
93
99
|
"@types/mocha": "^10.0.10",
|
|
94
100
|
"@types/node": "^22.13.1",
|
|
95
101
|
"@typescript-eslint/eslint-plugin": "^8.23.0",
|
|
96
102
|
"@typescript-eslint/parser": "^8.23.0",
|
|
103
|
+
"codejar-async": "^4.2.6",
|
|
97
104
|
"color-rgba": "^3.0.0",
|
|
98
105
|
"esbuild": "^0.25.0",
|
|
99
106
|
"eslint": "^8.57.1",
|
|
@@ -108,12 +115,14 @@
|
|
|
108
115
|
"eslint-plugin-unicorn": "^56.0.1",
|
|
109
116
|
"http-server": "^14.1.1",
|
|
110
117
|
"mocha": "^11.1.0",
|
|
118
|
+
"monaco-editor": "^0.52.2",
|
|
111
119
|
"nyc": "^17.1.0",
|
|
112
120
|
"stylelint-config-recommended": "^15.0.0",
|
|
113
121
|
"typescript": "^5.7.3",
|
|
114
|
-
"v8r": "^4.2.1"
|
|
122
|
+
"v8r": "^4.2.1",
|
|
123
|
+
"vscode-languageserver-textdocument": "^1.0.12"
|
|
115
124
|
},
|
|
116
125
|
"engines": {
|
|
117
|
-
"node": ">=18.
|
|
126
|
+
"node": ">=18.17.0"
|
|
118
127
|
}
|
|
119
128
|
}
|
package/bundle/bundle.es7.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";(()=>{var Eo=Object.create;var xt=Object.defineProperty,Lo=Object.defineProperties,pi=Object.getOwnPropertyDescriptor,Fo=Object.getOwnPropertyDescriptors,Ro=Object.getOwnPropertyNames,di=Object.getOwnPropertySymbols;var ui=Object.prototype.hasOwnProperty,Po=Object.prototype.propertyIsEnumerable;var ci=(a,r)=>(r=Symbol[a])?r:Symbol.for("Symbol."+a),bt=a=>{throw TypeError(a)};var $r=(a,r,e)=>r in a?xt(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e,Y=(a,r)=>{for(var e in r||(r={}))ui.call(r,e)&&$r(a,e,r[e]);if(di)for(var e of di(r))Po.call(r,e)&&$r(a,e,r[e]);return a},ae=(a,r)=>Lo(a,Fo(r)),gi=(a,r)=>xt(a,"name",{value:r,configurable:!0});var y=(a,r)=>()=>(a&&(r=a(a=0)),r);var jo=(a,r)=>()=>(r||a((r={exports:{}}).exports,r),r.exports),le=(a,r)=>{for(var e in r)xt(a,e,{get:r[e],enumerable:!0})},Bo=(a,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ro(r))!ui.call(a,n)&&n!==e&&xt(a,n,{get:()=>r[n],enumerable:!(t=pi(r,n))||t.enumerable});return a};var Q=a=>Bo(xt({},"__esModule",{value:!0}),a);var te=a=>{var r;return[,,,Eo((r=a==null?void 0:a[ci("metadata")])!=null?r:null)]},hi=["class","method","getter","setter","accessor","field","value","get","set"],Zt=a=>a!==void 0&&typeof a!="function"?bt("Function expected"):a,qo=(a,r,e,t,n)=>({kind:hi[a],name:r,metadata:t,addInitializer:i=>e._?bt("Already initialized"):n.push(Zt(i||null))}),_o=(a,r)=>$r(r,ci("metadata"),a[3]),re=(a,r,e,t)=>{for(var n=0,i=a[r>>1],s=i&&i.length;n<s;n++)r&1?i[n].call(e):t=i[n].call(e,t);return t},ne=(a,r,e,t,n,i)=>{var s,o,l,g,u,d=r&7,p=!!(r&8),h=!!(r&16),f=d>3?a.length+1:d?p?1:2:0,m=hi[d+5],x=d>3&&(a[f-1]=[]),k=a[f]||(a[f]=[]),S=d&&(!h&&!p&&(n=n.prototype),d<5&&(d>3||!h)&&pi(d<4?n:{get[e](){return c(this,i)},set[e]($){return b(this,i,$)}},e));d?h&&d<4&&gi(i,(d>2?"set ":d>1?"get ":"")+e):gi(n,e);for(var w=t.length-1;w>=0;w--)g=qo(d,e,l={},a[3],k),d&&(g.static=p,g.private=h,u=g.access={has:h?$=>Oo(n,$):$=>e in $},d^3&&(u.get=h?$=>(d^1?c:N)($,n,d^4?i:S.get):$=>$[e]),d>2&&(u.set=h?($,F)=>b($,n,F,d^4?i:S.set):($,F)=>$[e]=F)),o=(0,t[w])(d?d<4?h?i:S[m]:d>4?void 0:{get:S.get,set:S.set}:n,g),l._=1,d^4||o===void 0?Zt(o)&&(d>4?x.unshift(o):d?h?i=o:S[m]=o:n=o):typeof o!="object"||o===null?bt("Object expected"):(Zt(s=o.get)&&(S.get=s),Zt(s=o.set)&&(S.set=s),Zt(s=o.init)&&x.unshift(s));return d||_o(a,n),S&&xt(n,e,S),h?d^4?i:S:n},ie=(a,r,e)=>$r(a,typeof r!="symbol"?r+"":r,e),pn=(a,r,e)=>r.has(a)||bt("Cannot "+e),Oo=(a,r)=>Object(r)!==r?bt('Cannot use the "in" operator on this value'):a.has(r),c=(a,r,e)=>(pn(a,r,"read from private field"),e?e.call(a):r.get(a)),T=(a,r,e)=>r.has(a)?bt("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(a):r.set(a,e),b=(a,r,e,t)=>(pn(a,r,"write to private field"),t?t.call(a,e):r.set(a,e),e),N=(a,r,e)=>(pn(a,r,"access private method"),e);var Nr=(a,r,e,t)=>({set _(n){b(a,r,n,e)},get _(){return c(a,r,t)}});var mi=(a,r,e)=>new Promise((t,n)=>{var i=l=>{try{o(e.next(l))}catch(g){n(g)}},s=l=>{try{o(e.throw(l))}catch(g){n(g)}},o=l=>l.done?t(l.value):Promise.resolve(l.value).then(i,s);o((e=e.apply(a,r)).next())});var fi,xi,bi=y(()=>{"use strict";fi=(()=>{let a={redirect:1,onlyinclude:1,noinclude:1,include:1,comment:1,ext:1,arg:2,"magic-word":2,template:2,heading:2,html:3,table:4,hr:5,"double-underscore":5,link:6,category:6,file:6,quote:7,"ext-link":8,"free-ext-link":9,"magic-link":9,list:10,dd:10,converter:11};return Object.setPrototypeOf(a,null),a})(),xi=(()=>{let a=["bold-header","format-leakage","fostered-content","h1","illegal-attr","insecure-style","invalid-gallery","invalid-imagemap","invalid-invoke","invalid-isbn","lonely-apos","lonely-bracket","lonely-http","nested-link","no-arg","no-duplicate","no-ignored","obsolete-attr","obsolete-tag","parsing-order","pipe-like","table-layout","tag-like","unbalanced-header","unclosed-comment","unclosed-quote","unclosed-table","unescaped","unknown-page","unmatched-tag","unterminated-url","url-encoding","var-anchor","void-ext"];return Object.freeze(a),a})()});var ze,Ti=y(()=>{"use strict";ze=a=>decodeURIComponent(a.replace(/%(?![\da-f]{2})/giu,"%25"))});var Se,yi,Ee,Le,Ke,un,se,ki,be,Mo,zo,Je,vi,Wa,Wo,Uo,Tt,Fe,X=y(()=>{"use strict";Ti();Se=String.raw` \xA0\u1680\u2000-\u200A\u202F\u205F\u3000`,yi=String.raw`[^[\]<>"\0-\x1F\x7F${Se}\uFFFD]`,Ee=String.raw`(?:\[[\da-f:.]+\]|${yi})`,Le=String.raw`(?:${yi}|\0\d+[cn!~]\x7F)*`,Ke=(a,r)=>e=>e.replace(a,r),un=Ke(/[\0\x7F]|\r$/gmu,""),se=Ke(/\0\d+[cn]\x7F/gu,""),ki=Ke(/[\\{}()|.?*+^$[\]]/gu,String.raw`\$&`),be=(a,r="")=>a.map(e=>typeof e=="string"?e:e.text()).join(r),Mo={lt:"<",gt:">",lbrack:"[",rbrack:"]",lbrace:"{",rbrace:"}",nbsp:" ",amp:"&",quot:'"'},zo=Ke(/&(?:#(\d+|[Xx][\da-fA-F]+)|([lg]t|[LG]T|[lr]brac[ke]|nbsp|amp|AMP|quot|QUOT));/gu,(a,r,e)=>r?String.fromCodePoint(+((/^x/iu.test(r)?"0":"")+r)):Mo[e.toLowerCase()]),Je=a=>zo(a),vi=Ke(/&#(\d+|x[\da-f]+);/giu,(a,r)=>String.fromCodePoint(+((/^x/iu.test(r)?"0":"")+r))),Wa=Ke(/\n/gu,String.raw`\n`),Wo={"&":"amp","<":"lt",">":"gt",'"':"quot","\n":"#10"},Uo=a=>Ke(a,r=>`&${Wo[r]};`),Tt=Uo(/[&<>]/gu),Fe=(a,r={})=>{let{pre:e="",post:t="",sep:n=""}=r;return e+a.map(i=>i.print()).join(n)+t}});var Ai=jo((Ga,Do)=>{Do.exports={ext:[],html:[["b","bdi","del","i","ins","u","font","big","small","sub","sup","h1","h2","h3","h4","h5","h6","cite","code","em","s","strike","strong","tt","var","div","center","blockquote","ol","ul","dl","table","caption","pre","ruby","rb","rp","rt","rtc","p","span","abbr","dfn","kbd","samp","data","time","mark","tr","td","th","q","bdo"],["li","dt","dd"],["br","wbr","hr","meta","link"]],namespaces:{"0":"","6":"File","10":"Template","14":"Category","828":"Module"},nsid:{"":0,file:6,template:10,category:14,module:828},variable:["!","=","pageid","articlepath","server","servername","scriptpath","stylepath"],parserFunction:[{"#language":"language","#special":"special","#speciale":"speciale","#tag":"tag","#formatdate":"formatdate","#dateformat":"formatdate","#invoke":"invoke","#while":"while","#dowhile":"dowhile","#loop":"loop","#forargs":"forargs","#fornumargs":"fornumargs","#if":"if","#ifeq":"ifeq","#switch":"switch","#ifexist":"ifexist","#ifexpr":"ifexpr","#iferror":"iferror","#time":"time","#timel":"timel","#expr":"expr","#rel2abs":"rel2abs","#titleparts":"titleparts","#categorytree":"categorytree","#urldecode":"urldecode","#choose":"choose","#var":"var","#varexists":"varexists","#var_final":"var_final","#vardefine":"vardefine","#vardefineecho":"vardefineecho","#widget":"widget","#related":"related","#cscore":"cscore","#regex":"regex","#regex_var":"regex_var","#regexquote":"regexquote","#regexall":"regexall","#len":"len","#pos":"pos","#rpos":"rpos","#sub":"sub","#count":"count","#replace":"replace","#explode":"explode","#tab":"tab","#seo":"seo","#babel":"babel","#commaseparatedlist":"commaseparatedlist","#coordinates":"coordinates","#lst":"lst","#lsth":"lsth","#lstx":"lstx","#assessment":"assessment","#mentor":"mentor","#property":"property","#target":"target","#section":"section","#section-x":"section-x","#section-h":"section-h","#statements":"statements"},{"!":"!","=":"=","#FORMAL":"formal","#bcp47":"bcp47","#dir":"dir","#interwikilink":"interwikilink","#interlanguagelink":"interlanguagelink","#timef":"timef","#timefl":"timefl"},["msg","raw"],["subst","safesubst"]],doubleUnderscore:[[],[]],protocol:"bitcoin:|ftp://|ftps://|geo:|git://|gopher://|http://|https://|irc://|ircs://|magnet:|mailto:|matrix:|mms://|news:|nntp://|redis://|sftp://|sip:|sips:|sms:|ssh://|svn://|tel:|telnet://|urn:|worldwind://|xmpp:",interwiki:[],img:{},redirection:["#redirect"],variants:[]}});var cn,Si=y(()=>{"use strict";cn=Ai()});var er,yt,tr,rr,hn,R,K=y(()=>{"use strict";R=class{constructor(r,e){T(this,rr);T(this,er);T(this,yt);T(this,tr);b(this,er,r),b(this,yt,e)}get start(){return c(this,yt)}get top(){return N(this,rr,hn).call(this).top}get left(){return N(this,rr,hn).call(this).left}};er=new WeakMap,yt=new WeakMap,tr=new WeakMap,rr=new WeakSet,hn=function(){var r;return(r=c(this,tr))!=null||b(this,tr,c(this,er).getRootNode().posFromIndex(c(this,yt))),c(this,tr)}});var mn,wi,C,I,we,B=y(()=>{"use strict";Te();K();q();mn=(a,r,e,t)=>({line:a+e-1,character:(e===1?r:0)+t}),wi=a=>(r,e,t,n,i="error")=>{let{start:s}=e,{top:o,left:l}=e instanceof R?e:new R(r,s),{offsetHeight:g,offsetWidth:u}=r,{startIndex:d,startLine:p,startCol:h}=a(r,s,o,l),{line:f,character:m}=mn(p,h,g,u);return{rule:t,message:A.msg(n),severity:i,startIndex:d,endIndex:d+r.toString().length,startLine:p,endLine:f,startCol:h,endCol:m}},C=wi((a,r,e,t)=>{let n=a.getRelativeIndex(),{top:i,left:s}=a.parentNode.posFromIndex(n);return{startIndex:r+n,startLine:e+i,startCol:i?s:t+s}}),I=wi((a,r,e,t)=>({startIndex:r,startLine:e,startCol:t})),we=(a,r,e)=>{if(a)return a[1];let t=r();return e([Z.rev,t]),t}});var Go,Ir,Ci=y(()=>{"use strict";Go=(a,r,e)=>{let[t,...n]=a.split("#");return(!t||t===r)&&n.every(i=>i===e)},Ir=(a,r,e)=>({type:t,name:n})=>a.split(",").some(i=>Go(i.trim(),t,n))});var nr,kt,vt,ir,sr,At,St,or,fn,wt,xn=y(()=>{"use strict";B();Te();wt=class{constructor(){T(this,or);ie(this,"childNodes",[]);T(this,nr);T(this,kt);T(this,vt);T(this,ir);T(this,sr);T(this,At);T(this,St,{})}get firstChild(){return this.childNodes[0]}get lastChild(){return this.childNodes[this.childNodes.length-1]}get parentNode(){return c(this,nr)}get nextSibling(){return c(this,kt)}get previousSibling(){return c(this,vt)}get offsetHeight(){return N(this,or,fn).call(this).height}get offsetWidth(){return N(this,or,fn).call(this).width}getChildNodes(){let{childNodes:r}=this;return Object.isFrozen(r)?[...r]:r}getAttribute(r){return r==="padding"?0:this[r]}setAttribute(r,e){switch(r){case"parentNode":b(this,nr,e),e||(b(this,kt,void 0),b(this,vt,void 0));break;case"nextSibling":b(this,kt,e);break;case"previousSibling":b(this,vt,e);break;case"aIndex":b(this,At,[Z.rev,e]);break;default:this[r]=e}}getRootNode(){return we(c(this,sr),()=>{var r,e;return(e=(r=this.parentNode)==null?void 0:r.getRootNode())!=null?e:this},r=>{let[,e]=r;e.type==="root"&&b(this,sr,r)})}indexFromPos(r,e){}posFromIndex(r){let{length:e}=String(this);if(r+=r<0?e:0,r>=0&&r<=e){let t=this.getLines(),n=t.findIndex(([,,i])=>r<=i);return{top:n,left:r-t[n][1]}}}getGaps(r){return 0}getRelativeIndex(r){if(r===void 0){let{parentNode:e}=this;return e?e.getRelativeIndex(e.childNodes.indexOf(this)):0}return we(c(this,St)[r],()=>{let{childNodes:e}=this,t=r+(r<0?e.length:0),n=this.getAttribute("padding");for(let i=0;i<t;i++)c(this,St)[i]=[Z.rev,n],n+=e[i].toString().length+this.getGaps(i);return n},e=>{c(this,St)[r]=e})}getAbsoluteIndex(){return we(c(this,At),()=>{let{parentNode:r}=this;return r?r.getAbsoluteIndex()+this.getRelativeIndex():0},r=>{b(this,At,r)})}getBoundingClientRect(){}seal(r,e){Object.defineProperty(this,r,{enumerable:!e&&!!this[r],configurable:!0})}is(r){return this.type===r}getLines(){return we(c(this,ir),()=>{let r=[],e=0;for(let t of String(this).split(`
|
|
2
|
-
`)){let n=e+t.length;r.push([t,e,n]),e=n+1}return r},r=>{b(this,ir,r)})}};nr=new WeakMap,kt=new WeakMap,vt=new WeakMap,ir=new WeakMap,sr=new WeakMap,At=new WeakMap,St=new WeakMap,or=new WeakSet,fn=function(){let r=this.getLines(),e=r[r.length-1];return{height:r.length,width:e[2]-e[1]}}});var We,bn,Tn,Er,$i=y(()=>{"use strict";X();Te();Ci();xn();Er=class extends wt{constructor(){super(...arguments);T(this,We)}get length(){return this.childNodes.length}text(e){return be(this.childNodes,e)}normalize(){let e=this.getChildNodes(),t=n=>{var i,s;e.splice(n,1),(i=e[n-1])==null||i.setAttribute("nextSibling",e[n]),(s=e[n])==null||s.setAttribute("previousSibling",e[n-1])};for(let n=e.length-1;n>=0;n--){let{type:i,data:s}=e[n];i!=="text"||e.length===1||this.getGaps(n-(n&&1))||s===""&&t(n)}this.setAttribute("childNodes",e)}removeAt(e){return yn(this,e,1)[0]}insertAt(e,t=this.length){return yn(this,t,0,[e]),e}closest(e){let t=Ir(e,this),{parentNode:n}=this;for(;n;){if(t(n))return n;({parentNode:n}=n)}}querySelector(e){let t=Ir(e,this);return N(this,We,bn).call(this,t)}querySelectorAll(e){let t=Ir(e,this);return N(this,We,Tn).call(this,t)}append(...e){for(let t of e)this.insertAt(t)}replaceChildren(...e){for(let t=this.length-1;t>=0;t--)this.removeAt(t);this.append(...e)}setText(e,t=0){t+=t<0?this.length:0;let n=this.childNodes[t],{data:i}=n;return n.replaceData(e),i}toString(e,t=""){return this.childNodes.map(n=>n.toString(e)).join(t)}caretPositionFromIndex(e){}elementFromIndex(e){}elementFromPoint(e,t){}lint(e=this.getAbsoluteIndex(),t){let n=[];for(let i=0,s=e+this.getAttribute("padding");i<this.length;i++){let o=this.childNodes[i];o.setAttribute("aIndex",s),n.push(...o.lint(s,t)),s+=o.toString().length+this.getGaps(i)}return n}print(e={}){let t=e.class;return this.toString()?(t===""?"":`<span class="wpb-${t!=null?t:this.type}">`)+Fe(this.childNodes,e)+(t===""?"":"</span>"):""}json(e,t=this.getAbsoluteIndex()){let n=ae(Y({},this),{type:this.type,range:[t,t+this.toString().length],childNodes:[]});for(let i=0,s=t+this.getAttribute("padding");i<this.length;i++){let o=this.childNodes[i],{length:l}=o.toString();o.setAttribute("aIndex",s),n.childNodes.push(o.type==="text"?{data:o.data,range:[s,s+l]}:o.json(void 0,s)),s+=l+this.getGaps(i)}return n}};We=new WeakSet,bn=function(e){var t;for(let n of this.childNodes){if(n.type==="text")continue;if(e(n))return n;let i=N(t=n,We,bn).call(t,e);if(i)return i}},Tn=function(e){var n;let t=[];for(let i of this.childNodes)i.type!=="text"&&(e(i)&&t.push(i),t.push(...N(n=i,We,Tn).call(n,e)));return t}});var kn,Ni,Ho,Vo,Qo,Xo,Ko,Jo,vn,Lr,Ii,ar,Ei=y(()=>{"use strict";X();B();q();xn();kn=String.raw`[${Se}\t]*`,Ni=String.raw`<\s*(?:/\s*)?([a-z]\w*)|\{+|\}+|\[{2,}|\[(?![^[]*?\])|((?:^|\])[^[]*?)\]+|(?:rfc|pmid)(?=[-::]?${kn}\d)|isbn(?=[-::]?${kn}(?:\d(?:${kn}|-)){6})`,Ho=new RegExp(String.raw`${Ni}|https?[:/]/+`,"giu"),Vo=new RegExp(Ni,"giu"),Qo=new Set(["attr-value","ext-link-text","link-text"]),Xo={"[":/[[\]]/u,"{":/[{}]/u,"]":/[[\]](?=[^[\]]*$)/u,"}":/[{}](?=[^{}]*$)/u},Ko={"<":"tag-like","[":"lonely-bracket","{":"lonely-bracket","]":"lonely-bracket","}":"lonely-bracket",h:"lonely-http",r:"lonely-http",p:"lonely-http",i:"lonely-http"},Jo=["html","head","style","title","body","a","audio","img","video","embed","iframe","object","canvas","script","col","colgroup","tbody","tfoot","thead","button","input","label","option","select","textarea"];try{vn=new RegExp(String.raw`[\p{L}\d_]`,"u")}catch(a){vn=/\w/u}ar=class extends wt{constructor(e){super();T(this,Lr);ie(this,"data","");Object.defineProperties(this,{childNodes:{enumerable:!1,configurable:!1},data:{value:e}})}get type(){return"text"}toString(e){var t;return e&&!((t=this.parentNode)!=null&&t.getAttribute("built"))?se(this.data):this.data}text(){return this.data}lint(e=this.getAbsoluteIndex(),t){var _,L,V;if(t===!1)return[];let{data:n,parentNode:i,nextSibling:s,previousSibling:o}=this;if(!i)throw new Error("An isolated text node cannot be linted!");let{type:l,name:g,parentNode:u}=i,d=!1;if(l==="attr-value"){let{type:J,name:he,tag:me}=u;if(J!=="ext-attr")d=!0;else if(me==="choose"&&(he==="before"||he==="after"))return[]}if(t!=null||(t=l==="free-ext-link"||l==="ext-link-url"||l==="ext-link-text"||l==="image-parameter"&&g==="link"||d?Vo:Ho),n.search(t)===-1)return[];t.lastIndex=0;let p=[],h=s==null?void 0:s.type,f=s==null?void 0:s.name,m=o==null?void 0:o.type,x=this.getRootNode(),k=x.toString(),{ext:S,html:w}=x.getAttribute("config"),{top:$,left:F}=x.posFromIndex(e),j=new Set(["onlyinclude","noinclude","includeonly",...S,...w[0],...w[1],...w[2],...Jo]);for(let J=t.exec(n);J;J=t.exec(n)){let[,he,me]=J,{index:G}=J,W=J[0].toLowerCase();if(me&&me!=="]"){let{length:ue}=me;G+=ue,W=W.slice(ue)}let{0:E,length:ge}=W,Me=E==="r"||E==="p"||E==="i";if(E==="<"&&!j.has(he.toLowerCase())||E==="["&&l==="ext-link-text"&&(/&(?:rbrack|#93|#x5[Dd];);/u.test(n.slice(G+1))||s!=null&&s.is("ext")&&f==="nowiki"&&((_=s.innerText)!=null&&_.includes("]")))||Me&&(!i.getAttribute("plain")||Qo.has(l)))continue;E==="]"&&(G||ge>1)&&t.lastIndex--;let fe=e+G,pe=fe+ge,xe=k[pe],mt=k[fe-1],ln=ge>1&&!(E==="<"&&!/[\s/>]/u.test(xe!=null?xe:"")||d&&(E==="["||E==="]")||Me&&l==="parameter-value")||E==="{"&&(xe===E||mt==="-")||E==="}"&&(mt===E||xe==="-")||E==="["&&(xe===E||l==="ext-link-text"||h==="free-ext-link"&&!n.slice(G+1).trim())||E==="]"&&(mt===E||m==="free-ext-link"&&!n.slice(0,G).includes("]"))?"error":"warning",dn=E==="{"||E==="[";if(ln==="warning"&&(dn||(E==="]"||E==="}"))){let ue=Xo[E],gn=dn?n.slice(G+1):n.slice(0,G);if(E==="{"&&((L=ue.exec(gn))==null?void 0:L[0])==="}"||E==="}"&&((V=ue.exec(gn))==null?void 0:V[0])==="{")continue;if(!gn.includes(E)){let li=dn?"nextSibling":"previousSibling",Xe=this[li];for(;Xe&&(Xe.type!=="text"||!ue.test(Xe.data));)Xe=Xe[li];if(Xe&&ue.exec(Xe.data)[0]!==E)continue}}Me&&(W=W.toUpperCase());let si=this.posFromIndex(G),{line:oi,character:ai}=mn($,F,si.top+1,si.left),ft={rule:Ko[E],message:A.msg('lonely "$1"',Me||E==="h"?W:E),severity:ln,startIndex:fe,endIndex:pe,startLine:oi,endLine:oi,startCol:ai,endCol:ai+ge};if(E==="<")ft.suggestions=[{desc:"escape",range:[fe,fe+1],text:"<"}];else if(E==="h"&&l!=="link-text"&&vn.test(mt||""))ft.suggestions=[{desc:"whitespace",range:[fe,fe],text:" "}];else if(E==="["&&l==="ext-link-text"){let ue=i.getAbsoluteIndex()+i.toString().length;ft.suggestions=[{desc:"escape",range:[ue,ue+1],text:"]"}]}else if(E==="]"&&m==="free-ext-link"&&ln==="error"){let ue=e-o.toString().length;ft.fix={range:[ue,ue],text:"[",desc:"left bracket"}}else Me&&(ft.suggestions=[...J[0]===W?[]:[{desc:"uppercase",range:[fe,pe],text:W}],...xe===":"||xe==="\uFF1A"?[{desc:"whitespace",range:[pe,pe+1],text:" "}]:[]]);p.push(ft)}return p}replaceData(e){N(this,Lr,Ii).call(this,e)}print(){return Tt(this.data)}};Lr=new WeakSet,Ii=function(e){this.setAttribute("data",e)}});var ye,Ye=y(()=>{"use strict";Te();ye=(a=!0,r=!0)=>(e,t)=>{class n extends e{text(){return""}lint(s){return a?[]:super.lint(s)}}return Fr(n,e),n}});var lr,ke,Ct=y(()=>{"use strict";P();ke=class extends v{constructor(e,t,n,i,s,o){super(e,i,s,o);T(this,lr);b(this,lr,n)}get type(){return c(this,lr)}lint(e=this.getAbsoluteIndex()){return super.lint(e,!1)}};lr=new WeakMap});var $t,z,Re=y(()=>{"use strict";P();z=class extends v{constructor(e,t,n,i,s){super(e,n,i,s);T(this,$t);b(this,$t,t)}get type(){return c(this,$t)}set type(e){b(this,$t,e)}};$t=new WeakMap});var Yo,Ze,Ce,Pe,$e,dr=y(()=>{"use strict";B();X();K();q();P();Re();Yo=a=>a==="redirect-target"||a==="link",$e=class extends v{constructor(e,t,n=A.getConfig(),i=[],s="|"){super(void 0,n,i,{});T(this,Ze,!0);T(this,Ce);T(this,Pe);if(this.insertAt(new z(e,"link-target",n,i,{})),t!==void 0){let o=new v(t,n,i,{});o.type="link-text",o.setAttribute("stage",10),this.insertAt(o)}b(this,Ce,s)}get link(){}get fragment(){return c(this,Pe).fragment}afterBuild(){b(this,Pe,this.getTitle()),c(this,Ce).includes("\0")&&b(this,Ce,this.buildFromStr(c(this,Ce),0)),this.setAttribute("name",c(this,Pe).title),super.afterBuild()}setAttribute(e,t){e==="bracket"?b(this,Ze,t):e==="title"?b(this,Pe,t):super.setAttribute(e,t)}toString(e){let t=super.toString(e,c(this,Ce));return c(this,Ze)?`[[${t}]]`:t}text(){let e=super.text("|");return c(this,Ze)?`[[${e}]]`:e}getAttribute(e){return e==="title"?c(this,Pe):e==="padding"?2:super.getAttribute(e)}getGaps(e){return e===0?c(this,Ce).length:1}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),{childNodes:[i,s],type:o}=this,{encoded:l,fragment:g}=c(this,Pe),u=new R(this,e);if(i.childNodes.some(({type:d})=>d==="template")&&n.push(C(i,u,"unknown-page","template in an internal link target","warning")),l){let d=C(i,u,"url-encoding","unnecessary URL encoding in an internal link");d.suggestions=[{desc:"decode",range:[d.startIndex,d.endIndex],text:ze(i.text())}],n.push(d)}if(o==="link"||o==="category"){let d=s==null?void 0:s.childNodes.findIndex(h=>h.type==="text"&&h.data.includes("|")),p=s==null?void 0:s.childNodes[d];if(p){let h=C(s,u,"pipe-like",'additional "|" in the link text',"warning"),f=h.startIndex+s.getRelativeIndex(d);h.suggestions=[{desc:"escape",range:[f,f+p.data.length],text:p.data.replace(/\|/gu,"|")}],n.push(h)}}if(g!==void 0&&!Yo(o)){let d=C(i,u,"no-ignored","useless fragment"),p=i.childNodes.findIndex(f=>f.type==="text"&&f.data.includes("#")),h=i.childNodes[p];h&&(d.fix={range:[d.startIndex+i.getRelativeIndex(p)+h.data.indexOf("#"),d.endIndex],text:"",desc:"remove"}),n.push(d)}return n}getTitle(e,t){return this.normalizeTitle(this.firstChild.toString(!0),0,e,t,!0,!0)}print(){return super.print(c(this,Ze)?{pre:"[[",post:"]]",sep:c(this,Ce)}:{sep:c(this,Ce)})}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t),{type:i,fragment:s}=this;return s!==void 0&&(i==="link"||i==="redirect-target")&&(n.fragment=s),n}};Ze=new WeakMap,Ce=new WeakMap,Pe=new WeakMap});var oe,Ue=y(()=>{"use strict";P();oe=class extends v{get innerText(){return this.firstChild.data}constructor(r="",e,t){super(r,e,t)}}});var Li,An,Zo,D,De=y(()=>{"use strict";Ye();Ue();Li=[ye()];D=class extends(Zo=oe){get type(){return"noinclude"}toString(r){return r?"":super.toString()}};An=te(Zo),D=ne(An,0,"NoincludeToken",Li,D),re(An,1,D)});var Rr,Fi=y(()=>{"use strict";B();dr();De();Rr=class extends $e{get type(){return"redirect-target"}constructor(r,e,t,n){super(r,void 0,t,n),e!==void 0&&this.insertAt(new D(e,t,n))}getTitle(){return this.normalizeTitle(this.firstChild.toString(),0,!1,!0,!0)}lint(r=this.getAbsoluteIndex()){let e=super.lint(r,!1);if(this.length===2){let t=C(this.lastChild,{start:r},"no-ignored","useless link text");t.startIndex--,t.startCol--,t.fix={range:[t.startIndex,t.endIndex],text:"",desc:"remove"},e.push(t)}return e}}});var Ri,Ge,Nt,Sn,ea,et,Pi=y(()=>{"use strict";Ye();P();Ct();Fi();Ri=[ye(!1,!1)];et=class extends(ea=v){constructor(e,t,n,i,s,o,l=[]){super(void 0,o,l);T(this,Ge);T(this,Nt);b(this,Ge,e),b(this,Nt,s);let g=new RegExp(String.raw`^(?:${o.redirection.join("|")})\s*(?::\s*)?$`,"iu");this.append(new ke(t,g,"redirect-syntax",o,l,{}),new Rr(n,i==null?void 0:i.slice(1),o,l))}get type(){return"redirect"}getAttribute(e){return e==="padding"?c(this,Ge).length:super.getAttribute(e)}toString(e){return c(this,Ge)+super.toString(e)+c(this,Nt)}lint(e=this.getAbsoluteIndex()){let t=e+c(this,Ge).length+this.firstChild.toString().length;return this.lastChild.setAttribute("aIndex",t),this.lastChild.lint(t)}print(){return super.print({pre:c(this,Ge),post:c(this,Nt)})}};Sn=te(ea),Ge=new WeakMap,Nt=new WeakMap,et=ne(Sn,0,"RedirectToken",Ri,et),re(Sn,1,et)});var ji={};le(ji,{parseRedirect:()=>ta});var ta,Bi=y(()=>{"use strict";q();Pi();ta=(a,r,e)=>{var n;(n=r.regexRedirect)!=null||(r.regexRedirect=new RegExp(String.raw`^(\s*)((?:${r.redirection.join("|")})\s*(?::\s*)?)\[\[([^\n|\]]+)(\|.*?)?\]\](\s*)`,"iu"));let t=r.regexRedirect.exec(a);return t&&A.normalizeTitle(t[3],0,!1,r,!0,!0,!0).valid?(a=`\0${e.length}o\x7F${a.slice(t[0].length)}`,new et(...t.slice(1),r,e),a):!1}});var Pr,qi=y(()=>{"use strict";P();Pr=class extends v{get type(){return"onlyinclude"}toString(r){return`<onlyinclude>${super.toString(r)}</onlyinclude>`}getAttribute(r){return r==="padding"?13:r==="plain"||super.getAttribute(r)}print(){return super.print({pre:'<span class="wpb-ext"><onlyinclude></span>',post:'<span class="wpb-ext"></onlyinclude></span>'})}}});var He,It,wn=y(()=>{"use strict";P();It=class extends v{constructor(e,t,n,i,s,o=[]){super(void 0,s);T(this,He);ie(this,"closed");ie(this,"selfClosing");this.setAttribute("name",e.toLowerCase()),b(this,He,[e,i||e]),this.closed=i!=="",this.selfClosing=i===void 0,this.append(t,n);let l=typeof t=="string"?-1:o.indexOf(t);o.splice(l===-1?1/0:l,0,this)}get innerText(){return this.selfClosing?void 0:this.lastChild.text()}toString(e){let{selfClosing:t,firstChild:n,lastChild:i}=this,[s,o]=c(this,He);return t?`<${s}${n.toString(e)}/>`:`<${s}${n.toString(e)}>${i.toString(e)}${this.closed?`</${o}>`:""}`}text(){let[e,t]=c(this,He);return this.selfClosing?`<${e}${this.firstChild.text()}/>`:`<${e}${super.text(">")}${this.closed?`</${t}>`:""}`}getAttribute(e){return e==="padding"?c(this,He)[0].length+1:super.getAttribute(e)}getGaps(){return 1}print(){let[e,t]=c(this,He);return super.print(this.selfClosing?{pre:`<${e}`,post:"/>"}:{pre:`<${e}`,sep:">",post:this.closed?`</${t}>`:""})}};He=new WeakMap});var _i,Cn,ra,tt,Oi=y(()=>{"use strict";B();K();Ye();q();wn();_i=[ye(!1)];tt=class extends(ra=It){get type(){return"include"}constructor(r,e="",t,n,i,s){super(r,e,t!=null?t:"",t===void 0||n!=null?n:"",i,s)}toString(r){return r?"":super.toString()}lint(r=this.getAbsoluteIndex()){let e=[],{firstChild:t,closed:n,name:i}=this,s=new R(this,r);if(t.data.trim()){let o=C(t,s,"no-ignored","useless attribute","warning");o.suggestions=[{desc:"remove",range:[o.startIndex,o.endIndex],text:""}],e.push(o)}if(!n){let o=I(this,s,"unclosed-comment",A.msg("unclosed $1",`<${i}>`));o.suggestions=[{desc:"close",range:[o.endIndex,o.endIndex],text:`</${i}>`}],e.push(o)}return e}};Cn=te(ra),tt=ne(Cn,0,"IncludeToken",_i,tt),re(Cn,1,tt)});var Et,jr=y(()=>{"use strict";Te();Et=(a=0)=>(r,e)=>{var n,Mi;class t extends r{constructor(){super(...arguments);T(this,n)}getAttr(l){return N(this,n,Mi).call(this).getAttr(l)}}return n=new WeakSet,Mi=function(){return this.childNodes[a]},Fr(t,r),t}});var H,zi,Wi,qr,$n,Ui,Lt,Di,Gi,Hi,Br,Vi,Qi,Xi,Ki,Ji=y(()=>{"use strict";H=new Set(["align"]),zi=new Set(["cite"]),Wi=new Set(["cite","datetime"]),qr=new Set(["width"]),$n=new Set(["axis","align","bgcolor","height","width","valign"]),Ui=new Set([...$n,"abbr","headers","scope","rowspan","colspan"]),Lt=new Set(["type"]),Di=new Set(["summary","align","bgcolor","cellpadding","cellspacing","frame","rules","width"]),Gi=new Set(["clear"]),Hi=new Set(["bgcolor","align","valign"]),Br=new Set,Vi=new Set(["id","class","style","lang","dir","title","tabindex","aria-describedby","aria-flowto","aria-hidden","aria-label","aria-labelledby","aria-level","aria-owns","role","about","property","resource","datatype","typeof","itemid","itemprop","itemref","itemscope","itemtype"]),Qi={div:H,h1:H,h2:H,h3:H,h4:H,h5:H,h6:H,blockquote:zi,q:zi,p:H,br:Gi,pre:qr,ins:Wi,del:Wi,ul:Lt,ol:new Set(["type","start","reversed"]),li:new Set(["type","value"]),table:new Set([...Di,"border"]),caption:H,tr:Hi,td:Ui,th:Ui,img:new Set(["alt","src","width","height","srcset"]),font:new Set(["size","color","face"]),hr:qr,data:new Set(["value"]),time:new Set(["datetime"]),meta:new Set(["itemprop","content"]),link:new Set(["itemprop","href","title"]),gallery:Lt,poem:H,categorytree:H,combooption:H},Xi={gallery:new Set(["mode","showfilename","caption","perrow","widths","heights","showthumbnails"]),poem:new Set(["compact"]),categorytree:new Set(["hideroot","onlyroot","depth","mode","hideprefix","namespaces","showcount","notranslations"]),combooption:new Set(["name","for","inline"]),nowiki:Br,indicator:new Set(["name"]),langconvert:new Set(["from","to"]),ref:new Set(["group","name","extends","follow","dir"]),references:new Set(["group","responsive"]),charinsert:new Set(["label"]),choose:new Set(["uncached","before","after"]),option:new Set(["weight"]),imagemap:Br,inputbox:Br,templatestyles:new Set(["src","wrapper"]),dynamicpagelist:Br,poll:new Set(["id","show-results-before-voting"]),sm2:Lt,flashmp3:Lt,score:new Set(["line_width_inches","lang","override_midi","raw","note-language","override_audio","override_ogg","sound","vorbis"]),seo:new Set(["title","title_mode","title_separator","keywords","description","robots","google_bot","image","image_width","image_height","image_alt","type","site_name","locale","section","author","published_time","twitter_site"]),tab:new Set(["nested","name","index","class","block","inline","openname","closename","collapsed","dropdown","style","bgcolor","container","id","title"]),tabs:new Set(["plain","class","container","id","title","style"]),combobox:new Set(["placeholder","value","id","class","text","dropdown","style"])},Ki={table:Di,td:new Set([...$n,"scope"]),th:$n,br:Gi,caption:H,div:H,hr:qr,h1:H,h2:H,h3:H,h4:H,h5:H,h6:H,li:Lt,p:H,pre:qr,tr:Hi,ul:Lt}});var na,gr,Ft,ee,Ne,Rt,Yi=y(()=>{"use strict";B();X();Ji();K();q();P();Re();na=/expression|(?:accelerator|-o-link(?:-source)?|-o-replace)\s*:|(?:url|image(?:-set)?)\s*\(|attr\s*\([^)]+[\s,]url/u,Rt=class extends v{constructor(e,t,n,i="",s,o=[],l=A.getConfig(),g=[]){let u=new z(n,"attr-key",l,g),d;if(n==="title"||t==="img"&&n==="alt")d=new v(s,l,g,{}),d.type="attr-value",d.setAttribute("stage",10);else if(t==="gallery"&&n==="caption"||t==="choose"&&(n==="before"||n==="after")){let p=ae(Y({},l),{excludes:[...l.excludes,"heading","html","table","hr","list"]});d=new v(s,p,g,{}),d.type="attr-value",d.setAttribute("stage",1)}else d=new z(s,"attr-value",l,g,{});super(void 0,l,g);T(this,gr);T(this,Ft);T(this,ee);T(this,Ne);b(this,gr,e),this.append(u,d),b(this,ee,i),b(this,Ne,[...o]),b(this,Ft,t),this.setAttribute("name",se(n).trim().toLowerCase())}get type(){return c(this,gr)}get tag(){return c(this,Ft)}get balanced(){return!c(this,ee)||c(this,Ne)[0]===c(this,Ne)[1]}afterBuild(){c(this,ee).includes("\0")&&b(this,ee,this.buildFromStr(c(this,ee),0)),this.parentNode&&b(this,Ft,this.parentNode.name),this.setAttribute("name",this.firstChild.toString(!0).trim().toLowerCase()),super.afterBuild()}toString(e){let[t="",n=""]=c(this,Ne);return c(this,ee)?super.toString(e,c(this,ee)+t)+n:this.firstChild.toString(e)}text(){return c(this,ee)?`${super.text(`${c(this,ee).trim()}"`)}"`:this.firstChild.text()}getGaps(){var e,t;return c(this,ee)?c(this,ee).length+((t=(e=c(this,Ne)[0])==null?void 0:e.length)!=null?t:0):0}lint(e=this.getAbsoluteIndex(),t){var x;let n=super.lint(e,t),{balanced:i,firstChild:s,lastChild:o,type:l,name:g,tag:u}=this,d=this.getValue(),p=new R(this,e);if(!i){let k=C(o,p,"unclosed-quote",A.msg("unclosed $1","quotes"),"warning");k.startIndex--,k.startCol--,k.suggestions=[{range:[k.endIndex,k.endIndex],text:c(this,Ne)[0],desc:"close"}],n.push(k)}let h=Xi[u],f=Qi[u],{length:m}=this.toString();if(!(h!=null&&h.has(g))&&!(f!=null&&f.has(g))&&(l==="ext-attr"?h||f:!/\{\{[^{]+\}\}/u.test(g))&&(l==="ext-attr"&&!f||!/^(?:xmlns:[\w:.-]+|data-(?!ooui|mw|parsoid)[^:]*)$/u.test(g)&&(u==="meta"||u==="link"||!Vi.has(g)))){let k=C(s,p,"illegal-attr","illegal attribute name");k.suggestions=[{desc:"remove",range:[e,e+m],text:""}],n.push(k)}else if((x=Ki[u])!=null&&x.has(g))n.push(C(s,p,"obsolete-attr","obsolete attribute","warning"));else if(g==="style"&&typeof d=="string"&&na.test(d))n.push(C(o,p,"insecure-style","insecure style"));else if(g==="tabindex"&&typeof d=="string"&&d!=="0"){let k=C(o,p,"illegal-attr","nonzero tabindex");k.suggestions=[{desc:"remove",range:[e,e+m],text:""},{desc:"0 tabindex",range:[k.startIndex,k.endIndex],text:"0"}],n.push(k)}return n}getValue(){return c(this,ee)?this.lastChild.text().trim():this.type==="ext-attr"||""}print(){let[e="",t=""]=c(this,Ne);return c(this,ee)?super.print({sep:Tt(c(this,ee))+e,post:t}):super.print()}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t);return n.tag=this.tag,n}};gr=new WeakMap,Ft=new WeakMap,ee=new WeakMap,Ne=new WeakMap});var Zi,ia,Nn,pr,Ve,_r=y(()=>{"use strict";B();X();K();q();P();Re();Yi();Zi=a=>a.slice(0,-1),ia=a=>`${Zi(a)}-dirty`;try{Nn=new RegExp(String.raw`[\p{L}\d]`,"u")}catch(a){Nn=/[^\W_]/u}Ve=class extends v{constructor(e,t,n,i,s=[]){super(void 0,i,s,{});T(this,pr);if(b(this,pr,t),this.setAttribute("name",n),e){let o=/([^\s/](?:(?!\0\d+~\x7F)[^\s/=])*)(?:((?:\s(?:\s|\0\d+[cn]\x7F)*)?(?:=|\0\d+~\x7F)(?:\s|\0\d+[cn]\x7F)*)(?:(["'])([\s\S]*?)(\3|$)|(\S*)))?/gu,l="",g=o.exec(e),u=0,d=()=>{l&&(super.insertAt(new z(l,ia(t),i,s,{})),l="")};for(;g;){let{index:p,0:h,1:f,2:m,3:x,4:k,5:S,6:w}=g;if(l+=e.slice(u,p),/^(?:[\w:]|\0\d+t\x7F)(?:[\w:.-]|\0\d+t\x7F)*$/u.test(se(f).trim())){let $=k!=null?k:w,F=[x,S],j=new Rt(Zi(t),n,f,m,$,F,i,s);d(),super.insertAt(j)}else l+=h;({lastIndex:u}=o),g=o.exec(e)}l+=e.slice(u),d()}}get type(){return c(this,pr)}afterBuild(){let{parentNode:e}=this;(e==null?void 0:e.type)==="td"&&e.subtype==="caption"&&this.setAttribute("name","caption"),super.afterBuild()}getAttrTokens(e){return this.childNodes.filter(t=>t instanceof Rt&&(!e||t.name===e.toLowerCase().trim()))}getAttrToken(e){let t=this.getAttrTokens(e);return t[t.length-1]}getAttr(e){var t;return(t=this.getAttrToken(e))==null?void 0:t.getValue()}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),{parentNode:i,childNodes:s}=this,o=new Map,l=new Set,g=new R(this,e);if((i==null?void 0:i.type)==="html"&&i.closing&&this.text().trim()){let u=I(this,g,"no-ignored","attributes of a closing tag"),d=i.getAbsoluteIndex();u.suggestions=[{desc:"remove",range:[e,u.endIndex],text:""},{desc:"open",range:[d+1,d+2],text:""}],n.push(u)}for(let u of s)if(u instanceof Rt){let{name:d}=u;o.has(d)?(l.add(d),o.get(d).push(u)):o.set(d,[u])}else{let d=u.text().trim();if(d){let p=C(u,g,"no-ignored","containing invalid attribute",Nn.test(d)?"error":"warning");p.suggestions=[{desc:"remove",range:[p.startIndex,p.endIndex],text:" "}],n.push(p)}}if(l.size>0)for(let u of l){let d=o.get(u).map(p=>{let h=p.getValue();return[p,h===!0?"":h]});n.push(...d.map(([p,h],f)=>{let m=C(p,g,"no-duplicate",A.msg("duplicated $1 attribute",u)),x={desc:"remove",range:[m.startIndex,m.endIndex],text:""};return!h||d.slice(0,f).some(([,k])=>k===h)?m.fix=x:m.suggestions=[x],m}))}return n}print(){return this.toString()?`<span class="wpb-${this.type}">${this.childNodes.map(e=>e.print(e instanceof z?{class:e.toString().trim()&&"attr-dirty"}:void 0)).join("")}</span>`:""}};pr=new WeakMap});var Or,es=y(()=>{"use strict";q();P();De();Or=class extends v{get type(){return"ext-inner"}constructor(r,e=A.getConfig(),t=[]){if(r){let n=/<nowiki>/giu,i=/<\/nowiki>/giu,{length:s}=n.source,o=n.exec(r);o&&(i.lastIndex=o.index+s);let l=i.exec(r),g=0,u="";for(;o&&l;)new D(o[0],e,t),new D(l[0],e,t),u+=`${r.slice(g,o.index)}\0${t.length-1}n\x7F${r.slice(o.index+s,l.index)}\0${t.length}n\x7F`,g=l.index+s+1,n.lastIndex=g,o=n.exec(r),o&&(i.lastIndex=o.index+s),l=i.exec(r);r=u+r.slice(g)}super(r,e,t,{}),this.setAttribute("stage",10)}getAttribute(r){return r==="plain"||super.getAttribute(r)}lint(r=this.getAbsoluteIndex()){return super.lint(r,/<\s*\/\s*(pre)\b/giu)}}});var Pt,In=y(()=>{"use strict";B();K();ur();q();P();Re();Pt=class extends v{get type(){return"ext-inner"}constructor(r,e,t=A.getConfig(),n=[],i){if(super(void 0,t,n,{}),e){let s=z;this.append(...e.split(`
|
|
3
|
-
`).map(o=>i?o:rt(o,t,n,r)).map(o=>new s(o,"param-line",t,n,{})))}n.splice(n.indexOf(this),1),n.push(this)}toString(r){return super.toString(r,`
|
|
4
|
-
`)}text(){return super.text(`
|
|
5
|
-
`)}getGaps(){return 1}lint(r=this.getAbsoluteIndex()){let e=new R(this,r),t=A.msg("invalid parameter of <$1>",this.name),n=[];for(let i of this.childNodes){i.setAttribute("aIndex",r);let s=i.childNodes.filter(({type:o})=>o!=="comment"&&o!=="include"&&o!=="noinclude");if(s.some(({type:o})=>o==="ext"))n.push(C(i,e,"no-ignored",t));else{let o=s.findIndex(({type:g})=>g!=="text"),l=s.slice(0,o===-1?void 0:o).map(String).join("");if(l&&!(o===-1?/^[a-z]+(?:\[\])?\s*=/iu:/^[a-z]+(?:\[\])?\s*(?:=|$)/iu).test(l)){let g=C(i,e,"no-ignored",t);g.suggestions=[{desc:"remove",range:[g.startIndex,g.endIndex],text:""}],n.push(g)}else n.push(...i.lint(r,!1))}r+=i.toString().length+1}return n}print(){return super.print({sep:`
|
|
6
|
-
`})}}});var cr,jt,Mr,Bt,En=y(()=>{"use strict";B();Te();K();q();P();Ct();Bt=class extends v{constructor(e,t,n,i=[]){super(void 0,n,i);T(this,jt);T(this,cr);b(this,cr,e);let s=new v(t[0],n,i);s.type="heading-title",s.setAttribute("stage",2);let o=new ke(t[1],/^\s*$/u,"heading-trail",n,i,{});this.append(s,o)}get type(){return"heading"}get level(){return c(this,cr)}toString(e){let t=N(this,jt,Mr).call(this);return t+this.firstChild.toString(e)+t+this.lastChild.toString(e)}text(){let e=N(this,jt,Mr).call(this);return e+this.firstChild.text()+e}getAttribute(e){return e==="padding"?this.level:super.getAttribute(e)}getGaps(){return this.level}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),{firstChild:i,level:s}=this,o=i.toString(),l=o.startsWith("="),g=l||o.endsWith("="),u=i.childNodes.filter(qt("quote")),d=u.filter(({bold:m})=>m),p=u.filter(({italic:m})=>m),h=new R(this,e);if(this.level===1){let m=C(i,h,"h1","<h1>");g||(m.suggestions=[{desc:"h2",range:[m.startIndex,m.endIndex],text:`=${o}=`}]),n.push(m)}if(g){let m=C(i,h,"unbalanced-header",A.msg("unbalanced $1 in a section header",'"="'));if(o!=="=")if(l){let[x]=/^=+/u.exec(o);m.suggestions=[{desc:`h${s}`,range:[m.startIndex,m.startIndex+x.length],text:""},{desc:`h${s+x.length}`,range:[m.endIndex,m.endIndex],text:x}]}else{let x=/[^=](=+)$/u.exec(o)[1];m.suggestions=[{desc:`h${s}`,range:[m.endIndex-x.length,m.endIndex],text:""},{desc:`h${s+x.length}`,range:[m.startIndex,m.startIndex],text:x}]}n.push(m)}this.closest("html-attrs,table-attrs")&&n.push(I(this,h,"parsing-order","section header in an HTML tag"));let f=this.getRootNode().toString();if(d.length%2){let m=C(d[d.length-1],ae(Y({},h),{start:e+s,left:h.left+s}),"format-leakage",A.msg("unbalanced $1 in a section header","bold apostrophes")),x=e+s+o.length;f.slice(m.endIndex,x).trim()?m.suggestions=[{desc:"close",range:[x,x],text:"'''"}]:m.fix={desc:"remove",range:[m.startIndex,m.endIndex],text:""},n.push(m)}if(p.length%2){let m=C(p[p.length-1],{start:e+s},"format-leakage",A.msg("unbalanced $1 in a section header","italic apostrophes")),x=e+s+o.length;m.fix=f.slice(m.endIndex,x).trim()?{desc:"close",range:[x,x],text:"''"}:{desc:"remove",range:[m.startIndex,m.endIndex],text:""},n.push(m)}return n}print(){let e=N(this,jt,Mr).call(this);return super.print({pre:e,sep:e})}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t);return n.level=this.level,n}};cr=new WeakMap,jt=new WeakSet,Mr=function(){return"=".repeat(this.level)}});var sa,zr,ts=y(()=>{"use strict";X();B();q();P();sa=new RegExp(`https?://${Ee}${Le}$`,"iu"),zr=class extends v{get type(){return"parameter"}get anon(){return this.firstChild.length===0}get duplicated(){var r;try{return!!((r=this.parentNode)!=null&&r.getDuplicatedArgs().some(([e])=>e===this.name))}catch(e){return!1}}constructor(r,e,t=A.getConfig(),n=[]){super(void 0,t,n);let i=new v(typeof r=="number"?void 0:r,t,n,{}),s=new v(e,t,n);i.type="parameter-key",i.setAttribute("stage",2),s.type="parameter-value",s.setAttribute("stage",2),this.append(i,s)}trimName(r,e=!0){let t=(typeof r=="string"?r:r.toString(!0)).replace(/^[ \t\n\0\v]+|([^ \t\n\0\v])[ \t\n\0\v]+$/gu,"$1");return this.setAttribute("name",t),t}afterBuild(){if(!this.anon){let{parentNode:r,firstChild:e}=this,t=this.trimName(e);r&&r.getArgs(t,!1,!1).add(this)}super.afterBuild()}toString(r){return this.anon?this.lastChild.toString(r):super.toString(r,"=")}text(){return this.anon?this.lastChild.text():super.text("=")}getGaps(){return this.anon?0:1}lint(r=this.getAbsoluteIndex(),e){var s;let t=super.lint(r,e),{firstChild:n}=this,i=(s=sa.exec(n.text()))==null?void 0:s[0];if(i&&new URL(i).search){let o=C(n,{start:r},"unescaped","unescaped query string in an anonymous parameter");o.startIndex=o.endIndex,o.startLine=o.endLine,o.startCol=o.endCol,o.endIndex++,o.endCol++,o.fix={range:[o.startIndex,o.endIndex],text:"{{=}}",desc:"escape"},t.push(o)}return t}print(){return super.print({sep:this.anon?"":"="})}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e);return Object.assign(t,{anon:this.anon,duplicated:this.duplicated}),t}}});var mr,nt,it,_t,st,Ln,rs,hr,ns=y(()=>{"use strict";X();B();Te();K();P();ts();Re();Ct();hr=class extends v{constructor(e,t,n,i=[]){var m,x;let s,o=/^(?:\s|\0\d+[cn]\x7F)*\0(\d+)h\x7F(?:\s|\0\d+[cn]\x7F)*/u.exec(e);o&&(s=Number(o[1]),e=e.replace(`\0${s}h\x7F`,i[s].toString().replace(/^\n/u,"")));super(void 0,n,i,{});T(this,st);ie(this,"modifier","");T(this,mr,"template");T(this,nt,!1);T(this,it,new Map);T(this,_t);let{parserFunction:[l,g],variable:u}=n,d=(m=/^(?:\s|\0\d+[cn]\x7F)*\0\d+s\x7F/u.exec(e))==null?void 0:m[0];if(d)this.setAttribute("modifier",d),e=e.slice(d.length);else if(e.includes(":")){let[k,...S]=e.split(":"),[w]=/^(?:\s|\0\d+[cn]\x7F)*/u.exec((x=S[0])!=null?x:"");this.setModifier(`${k}:${w}`)&&(e=S.join(":").slice(w.length))}let p=e.includes(":");if(p||t.length===0&&!c(this,nt)){let k=e.indexOf(":"),S=k===-1?e:e.slice(0,k),w=k===-1?void 0:e.slice(k+1),$=se(S),F=$[w===void 0?"trim":"trimStart"](),j=F.toLowerCase(),_=Array.isArray(g),L=_?g.includes(F):Object.prototype.hasOwnProperty.call(g,F),V=!_&&L?g[F]:Object.prototype.hasOwnProperty.call(l,j)&&l[j];if(_&&L||u.includes(V)||p&&V){this.setAttribute("name",V||j.replace(/^#/u,"")),b(this,mr,"magic-word");let he=new RegExp(String.raw`^\s*${F}\s*$`,L?"u":"iu"),me=new ke(S,he,"magic-word-name",n,i,{});if(super.insertAt(me),w!==void 0&&t.unshift([w]),this.name==="invoke")for(let G=0;G<2;G++){let W=t.shift();if(!W)break;let E=new z(W.join("="),`invoke-${G?"function":"module"}`,n,i);super.insertAt(E)}}}if(this.type==="template"){let k=se(e).trim();if(!this.normalizeTitle(k,10,!0,!0).valid)throw i.pop(),new SyntaxError("Invalid template name");let S=new z(e,"template-name",n,i,{});super.insertAt(S)}typeof s=="number"&&(i[s]=void 0);let h=this.isTemplate(),f=1;for(let k=0;k<t.length;k++){let S=t[k];h||this.name==="switch"&&k>0||this.name==="tag"&&k>1||(S[0]=S.join("="),S.length=1),S.length===1&&(S.unshift(f),f++),this.insertAt(new zr(...S,n,i))}this.seal("modifier")}get type(){return c(this,mr)}setModifier(e){let{parserFunction:[,,t,n]}=this.getAttribute("config"),i=se(e).trim();if(e&&!i.endsWith(":"))return!1;let s=i.slice(0,-1).toLowerCase(),o=t.includes(s),l=n.includes(s);return c(this,nt)&&o||!c(this,nt)&&(l||e==="")||(Z.running||this.length>1)&&(o||l||e==="")?(this.setAttribute("modifier",e),b(this,nt,o),!!e):!1}isTemplate(){return this.type==="template"||this.name==="invoke"}getModule(){}afterBuild(){this.modifier.includes("\0")&&this.setAttribute("modifier",this.buildFromStr(this.modifier,0)),super.afterBuild(),this.isTemplate()&&this.type==="template"&&(b(this,_t,N(this,st,Ln).call(this)),this.setAttribute("name",c(this,_t).title))}toString(e){return`{{${this.modifier}${this.type==="magic-word"?this.firstChild.toString(e)+(this.length===1?"":":")+this.childNodes.slice(1).map(t=>t.toString(e)).join("|"):super.toString(e,"|")}}}`}text(){let{childNodes:e,length:t,firstChild:n,modifier:i,type:s,name:o}=this;return s==="magic-word"&&o==="vardefine"?"":`{{${i}${s==="magic-word"?n.text()+(t===1?"":":")+be(e.slice(1),"|"):super.text("|")}}}`}getAttribute(e){switch(e){case"padding":return this.modifier.length+2;case"title":return c(this,_t);default:return super.getAttribute(e)}}getGaps(){return 1}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t);if(!this.isTemplate())return n;let{type:i,childNodes:s,length:o}=this,l=new R(this,e),g=i==="magic-word";if(g&&!N(this,st,Ln).call(this).valid)n.push(C(s[1],l,"invalid-invoke","illegal module name"));else{let d=s[g?1:0],p=d.childNodes.findIndex(f=>f.type==="text"&&Je(f.data).includes("#")),h=d.childNodes[p];if(h){let f=C(d,l,"no-ignored","useless fragment");f.fix={range:[f.startIndex+d.getRelativeIndex(p)+h.data.indexOf("#"),f.endIndex],text:"",desc:"remove"},n.push(f)}}if(g&&o===2)return n.push(I(this,l,"invalid-invoke","missing module function")),n;let u=this.getDuplicatedArgs().filter(([,d])=>!d[0].querySelector("ext"));if(u.length>0)for(let[,d]of u)n.push(...d.map(p=>{let h=C(p,l,"no-duplicate","duplicated parameter");return h.suggestions=[{desc:"remove",range:[h.startIndex-1,h.endIndex],text:""}],h}));return n}insertAt(e,t=this.length){return super.insertAt(e,t),e.anon?N(this,st,rs).call(this,e):e.name&&this.getArgs(e.name,!1,!1).add(e),e}getAllArgs(){return this.childNodes.filter(qt("parameter"))}getAnonArgs(){return this.getAllArgs().filter(({anon:e})=>e)}getArgs(e,t,n=!0){let i=String(e).replace(/^[ \t\n\0\v]+|([^ \t\n\0\v])[ \t\n\0\v]+$/gu,"$1"),s;return c(this,it).has(i)?s=c(this,it).get(i):(s=new Set(this.getAllArgs().filter(({name:o})=>i===o)),c(this,it).set(i,s)),s}getDuplicatedArgs(){return[...c(this,it)].filter(([,{size:e}])=>e>1).map(([e,t])=>[e,[...t]])}getPossibleValues(){let{type:e,name:t,childNodes:n}=this;if(e==="template")throw new Error("TranscludeToken.getPossibleValues method is only for specific magic words!");let i;switch(t){case"if":case"ifexist":case"ifexpr":case"iferror":i=2;break;case"ifeq":i=3;break;default:throw new Error("TranscludeToken.getPossibleValues method is only for specific magic words!")}let s=n.slice(i,i+2).map(({childNodes:[,o]})=>o);for(let o=0;o<s.length;){let{length:l,0:g}=s[o].childNodes.filter(u=>u.text().trim());if(l===0)s.splice(o,1);else if(l>1||g.type!=="magic-word")o++;else try{let u=g.getPossibleValues();s.splice(o,1,...u),o+=u.length}catch(u){o++}}return s}print(){let{childNodes:e,length:t,firstChild:n,modifier:i,type:s}=this;return`<span class="wpb-${s}">{{${Tt(i)}${s==="magic-word"?n.print()+(t===1?"":":")+Fe(e.slice(1),{sep:"|"}):Fe(e,{sep:"|"})}}}</span>`}};mr=new WeakMap,nt=new WeakMap,it=new WeakMap,_t=new WeakMap,st=new WeakSet,Ln=function(){let e=this.type==="template";return this.normalizeTitle(this.childNodes[e?0:1].toString(!0),e?10:828,!0)},rs=function(e){let t=this.getAnonArgs(),n=typeof e!="number";for(let i=n?t.indexOf(e):e-1;i<t.length;i++){let s=t[i],{name:o}=s,l=String(i+1);(o!==l||s===e)&&(s.setAttribute("name",l),this.getArgs(l,!1,!1).add(s))}}});var is,Fn,oa,ot,ss=y(()=>{"use strict";Ye();P();is=[ye()];ot=class extends(oa=v){get type(){return"hidden"}};Fn=te(oa),ot=ne(Fn,0,"HiddenToken",is,ot),re(Fn,1,ot)});var Rn,aa,Wr,os=y(()=>{"use strict";X();B();K();P();Re();ss();Wr=class extends v{constructor(e,t,n=[]){super(void 0,t,n,{});T(this,Rn);for(let i=0;i<e.length;i++){let s=e[i];if(i===0){let o=new z(s,"arg-name",t,n,{});super.insertAt(o)}else if(i>1){let o=new ot(s,t,n);super.insertAt(o)}else{let o=new v(s,t,n);o.type="arg-default",o.setAttribute("stage",2),super.insertAt(o)}}}get type(){return"arg"}get default(){var e,t;return(t=(e=this.childNodes[1])==null?void 0:e.text())!=null?t:!1}toString(e){return`{{{${super.toString(e,"|")}}}}`}text(){return`{{{${be(this.childNodes.slice(0,2),"|")}}}}`}getAttribute(e){return e==="padding"?3:super.getAttribute(e)}getGaps(){return 1}afterBuild(){super.afterBuild()}lint(e=this.getAbsoluteIndex(),t){let{childNodes:[n,i,...s]}=this;if(!this.getAttribute("include")){let l=I(this,{start:e},"no-arg","unexpected template argument");return i&&(l.suggestions=[{range:[e,l.endIndex],text:i.text(),desc:"expand"}]),[l]}n.setAttribute("aIndex",e+3);let o=n.lint(e+3,t);if(i){let l=e+4+n.toString().length;i.setAttribute("aIndex",l),o.push(...i.lint(l,t))}if(s.length>0){let l=new R(this,e);o.push(...s.map(g=>{let u=C(g,l,"no-ignored","invisible content inside triple braces");return u.startIndex--,u.startCol--,u.suggestions=[{desc:"remove",range:[u.startIndex,u.endIndex],text:""},{desc:"escape",range:[u.startIndex,u.startIndex+1],text:"{{!}}"}],u}))}return o}print(){return super.print({pre:"{{{",post:"}}}",sep:"|"})}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t);return n.default=this.default,n}};Rn=new WeakSet,aa=function(){}});var gs={};le(gs,{parseBraces:()=>fr});var la,as,ls,ds,fr,Ur=y(()=>{"use strict";X();En();ns();os();la={"=":String.raw`\n(?!(?:[^\S\n]|\0\d+[cn]\x7F)*\n)`,"{":String.raw`\}{2,}|\|`,"-":String.raw`\}-`,"[":String.raw`\]\]`},as=String.raw`|\{{2,}`,ls=new Map([["!","!"],["!!","+"],["(!","{"],["!)","}"],["!-","-"],["=","~"],["server","m"]]),ds=a=>{let r=se(a).trim().toLowerCase();return ls.has(r)?ls.get(r):/^(?:filepath|(?:full|canonical)urle?):./u.test(r)?"m":/^#vardefine:./u.test(r)?"n":"t"},fr=(a,r,e)=>{var h,f,m,x,k,S;let t=String.raw`${(h=r.excludes)!=null&&h.includes("heading")?"":String.raw`^((?:\0\d+[cno]\x7F)*)={1,6}|`}\[\[|-\{(?!\{)`,{parserFunction:[,,,n]}=r,i=[],s=[],o=w=>w.replace(/\0(\d+)\x7F/gu,($,F)=>s[F]);a=a.replace(/\{\{([^\n{}[]*)\}\}(?!\})|\[\[[^\n[\]{]*\]\]/gu,(w,$)=>{if($!==void 0)try{let{length:F}=e,j=$.split("|");return new hr(j[0],j.slice(1).map(_=>{let L=_.indexOf("=");return L===-1?[_]:[_.slice(0,L),_.slice(L+1)]}),r,e),`\0${F}${ds(j[0])}\x7F`}catch(F){if(!(F instanceof SyntaxError)||F.message!=="Invalid template name")throw F}return s.push(w),`\0${s.length-1}\x7F`});let l=a.lastIndexOf("}}")-a.length,g=l+a.length!==-1,u=new RegExp(t+(g?as:""),"gmu"),d=u.exec(a),p;for(;d||p!==void 0&&p<=a.length&&((m=(f=i[i.length-1])==null?void 0:f[0])!=null&&m.startsWith("="));){if(d!=null&&d[1]){let[,{length:W}]=d;d[0]=d[0].slice(W),d.index+=W}let{0:w,index:$}=d!=null?d:{0:`
|
|
7
|
-
`,index:a.length},F=(x=i.pop())!=null?x:{},{0:j,index:_,parts:L,findEqual:V,pos:J}=F,he=w==="="&&V,me=W=>{L[L.length-1].push(o(W.slice(J,$)))};if(w==="]]"||w==="}-")p=$+2;else if(w===`
|
|
8
|
-
`){p=$+1;let{pos:W,findEqual:E}=(k=i[i.length-1])!=null?k:{};if(W===void 0||E||se(a.slice(W,_))!==""){let ge=/^(={1,6})(.+)\1((?:\s|\0\d+[cn]\x7F)*)$/u.exec(a.slice(_,$));ge&&(a=`${a.slice(0,_)}\0${e.length}h\x7F${a.slice($)}`,p=_+4+String(e.length).length,ge[2]=o(ge[2]),new Bt(ge[1].length,ge.slice(2),r,e))}}else if(w==="|"||he)p=$+1,me(a),w==="|"&&L.push([]),F.pos=p,F.findEqual=w==="|",i.push(F);else if(w.startsWith("}}")){let W=w.slice(0,Math.min(j.length,3)),E=j.length-W.length,{length:ge}=e;p=$+W.length,me(a);let Me=!1,fe="t";if(W.length===3){let pe=L.map(mt=>mt.join("=")),xe=pe.length>1&&se(pe[1]).trim();new Wr(pe,r,e),xe&&xe.endsWith(":")&&n.includes(xe.slice(0,-1).toLowerCase())&&(fe="s")}else try{new hr(L[0][0],L.slice(1),r,e),fe=ds(L[0][0])}catch(pe){if(pe instanceof SyntaxError&&pe.message==="Invalid template name")Me=!0;else throw pe}Me||(a=`${a.slice(0,_+E)}\0${ge}${fe}\x7F${a.slice(p)}`,p=_+E+3+String(ge).length,E>1?i.push({0:j.slice(0,E),index:_,pos:_+E,parts:[[]]}):E===1&&a[_-1]==="-"&&i.push({0:"-{",index:_-1,pos:_+1,parts:[[]]}))}else p=$+w.length,w.startsWith("{")&&(d.pos=p,d.parts=[[]]),i.push(..."0"in F?[F]:[],d);let G=i[i.length-1];if(g&&l+a.length<p)for(g=!1;(S=G==null?void 0:G[0])!=null&&S.startsWith("{");)i.pop(),G=i[i.length-1];u=new RegExp(t+(g?as:"")+(G?`|${la[G[0][0]]}${G.findEqual?"|=":""}`:""),"gmu"),u.lastIndex=p,d=u.exec(a)}return o(a)}});var Dr,ps=y(()=>{"use strict";ur();Ur();q();In();Dr=class extends Pt{constructor(r,e,t=A.getConfig(),n=[]){let i=Symbol("InputboxToken"),{length:s}=n;n.push(i),e&&(e=rt(e,t,n,r)),e&&(e=fr(e,t,n)),n.splice(s,1),super(r,e,t,n,{})}}});function us(a,r,e,t,n){r=r.trim();let i=r.replace(a==="link"?/\0\d+[tq]\x7F/gu:/\0\d+t\x7F/gu,"").trim();switch(a){case"width":return!i&&!!r||/^(?:\d+x?|\d*x\d+)(?:\s*px)?$/u.test(i);case"link":{if(!i)return r;let s=new RegExp(String.raw`^(?:${e.protocol}|//|\0\d+m\x7F)`,"iu"),o=new RegExp(String.raw`^(?:(?:${e.protocol}|//)${Ee}|\0\d+m\x7F)${Le}$`,"iu");if(s.test(i))return o.test(i)&&r;i.startsWith("[[")&&i.endsWith("]]")&&(i=i.slice(2,-2));let l=A.normalizeTitle(i,0,!1,e,!1,t,!0,!0);return l.valid&&l}case"lang":return(n==="svg"||n==="svgz")&&!/[^a-z\d-]/u.test(i);case"alt":case"class":case"manualthumb":return!0;case"page":return(n==="djvu"||n==="djv"||n==="pdf")&&Number(i)>0;default:return!!i&&!isNaN(i)}}var da,de,Hr,cs,Gr,hs=y(()=>{"use strict";X();B();q();P();da=new Set(["alt","link","lang","page","caption"]);Gr=class extends v{constructor(e,t,n,i){var r=(...Bg)=>(super(...Bg),T(this,Hr),T(this,de,""),this);var g;let s,o=Object.entries(n.img).map(([u,d])=>{let p=new RegExp(String.raw`^(\s*(?!\s))${u.replace("$1","(.*)")}${u.endsWith("$1")?`(?=$|
|
|
9
|
-
)`:""}(\s*)$`,"u");return[u,d,p]}),l=o.find(([,u,d])=>(s=d.exec(e),s&&(s.length!==4||us(u,s[2],n,!0,t)!==!1)));if(l&&s){s.length===3?(r(void 0,n,i),b(this,de,e)):(r(s[2],n,i,{}),b(this,de,s[1]+l[0]+s[3])),this.setAttribute("name",l[1]);return}r(e,ae(Y({},n),{excludes:[...(g=n.excludes)!=null?g:[],"list"]}),i),this.setAttribute("name","caption"),this.setAttribute("stage",7)}get type(){return"image-parameter"}get link(){return this.name==="link"?us("link",super.text(),this.getAttribute("config")):void 0}afterBuild(){var e;((e=this.parentNode)==null?void 0:e.type)==="gallery-image"&&!da.has(this.name)&&this.setAttribute("name","invalid"),super.afterBuild()}toString(e){return c(this,de)?c(this,de).replace("$1",super.toString(e)):super.toString(e)}text(){return c(this,de)?c(this,de).replace("$1",super.text()).trim():super.text().trim()}getAttribute(e){return e==="plain"?this.name==="caption":e==="padding"?Math.max(0,c(this,de).indexOf("$1")):super.getAttribute(e)}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),{link:i,name:s}=this;if(s==="invalid"){let o=I(this,{start:e},"invalid-gallery","invalid image parameter");o.fix={range:[e-1,o.endIndex],text:"",desc:"remove"},n.push(o)}else if(typeof i=="object"&&i.encoded){let o=I(this,{start:e},"url-encoding","unnecessary URL encoding in an internal link");o.suggestions=[{desc:"decode",range:[e,o.endIndex],text:ze(this.text())}],n.push(o)}return n}getValue(){return this.name==="invalid"?this.text():N(this,Hr,cs).call(this)||super.text()}print(){return c(this,de)?`<span class="wpb-image-parameter">${c(this,de).replace("$1",`<span class="wpb-image-caption">${Fe(this.childNodes)}</span>`)}</span>`:super.print({class:"image-caption"})}};de=new WeakMap,Hr=new WeakSet,cs=function(){return c(this,de)&&!c(this,de).includes("$1")}});var ms,fs,xs,ga,Ot,Pn=y(()=>{"use strict";X();B();K();q();dr();hs();ms=new Map([["manualthumb","Thumb"],["frameless","Frameless"],["framed","Frame"],["thumbnail","Thumb"]]),fs=new Set(["left","right","center","none"]),xs=new Set(["baseline","sub","super","top","text-top","middle","bottom","text-bottom"]),ga=(a,r,e,t)=>{if(t===void 0)return[];let n=new RegExp(`${[a,r,e].map(ki).join("|")}`,"gu"),i=[],s=n.exec(t),o=0,l=0;for(;s;){let{0:g,index:u}=s;g!==e?o+=g===a?1:-1:o===0&&(i.push(t.slice(l,u)),{lastIndex:l}=n),s=n.exec(t)}return i.push(t.slice(l)),i},Ot=class extends $e{get type(){return"file"}get extension(){return this.getAttribute("title").extension}constructor(r,e,t=A.getConfig(),n=[],i="|"){super(r,void 0,t,n,i);let{extension:s}=this.getTitle(!0,!0);this.append(...ga("-{","}-","|",e).map(o=>new Gr(o,s,t,n)))}lint(r=this.getAbsoluteIndex(),e){var h;let t=super.lint(r,e),n=this.getAllArgs().filter(({childNodes:f})=>{let m=f.filter(x=>x.text().trim());return m.length!==1||m[0].type!=="arg"}),i=[...new Set(n.map(({name:f})=>f))],s=i.filter(f=>ms.has(f)),o=i.filter(f=>fs.has(f)),l=i.filter(f=>xs.has(f)),[g]=s,u=g==="framed"||g==="manualthumb",d=new R(this,r);if(this.closest("ext-link-text")&&((h=this.getValue("link"))==null?void 0:h.trim())!==""&&t.push(I(this,d,"nested-link","internal link in an external link")),u)for(let f of n.filter(({name:m})=>m==="width")){let m=C(f,d,"invalid-gallery","invalid image parameter");m.fix={range:[m.startIndex-1,m.endIndex],text:"",desc:"remove"},t.push(m)}if(n.length===i.length&&s.length<2&&o.length<2&&l.length<2)return t;let p=(f,m)=>x=>{let k=C(x,d,"no-duplicate",A.msg(`${f} image $1 parameter`,m));return k.suggestions=[{desc:"remove",range:[k.startIndex-1,k.endIndex],text:""}],k};for(let f of i){if(f==="invalid"||f==="width"&&u)continue;let m=n.filter(({name:x})=>x===f);f==="caption"&&(m=[...m.slice(0,-1).filter(x=>x.text()),...m.slice(-1)]),m.length>1&&t.push(...m.map(p("duplicated",f)))}return s.length>1&&t.push(...n.filter(({name:f})=>ms.has(f)).map(p("conflicting","frame"))),o.length>1&&t.push(...n.filter(({name:f})=>fs.has(f)).map(p("conflicting","horizontal-alignment"))),l.length>1&&t.push(...n.filter(({name:f})=>xs.has(f)).map(p("conflicting","vertical-alignment"))),t}getAllArgs(){return this.childNodes.slice(1)}getArgs(r){return this.getAllArgs().filter(({name:e})=>r===e)}getArg(r){let e=this.getArgs(r);return e[r==="manualthumb"?0:e.length-1]}getValue(r){var e;return(e=this.getArg(r))==null?void 0:e.getValue()}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e),{extension:n}=this;return n&&(t.extension=n),t}}});var Mt,jn=y(()=>{"use strict";B();q();P();Pn();Mt=class extends Ot{constructor(e,t,n,i=A.getConfig(),s=[]){let o;if(n!==void 0){let{length:l}=s;o=new v(n,i,s);for(let g=1;g<11;g++)o.parseOnce();s.splice(l,1)}super(t,o==null?void 0:o.toString(),i,s);ie(this,"privateType","imagemap-image");this.setAttribute("bracket",!1),this.privateType=`${e}-image`,this.seal("privateType",!0)}get type(){return this.privateType}getTitle(e){let t=this.type==="imagemap-image";return this.normalizeTitle(this.firstChild.toString(),t?0:6,e,!0,!t)}getAttribute(e){return e==="padding"?0:super.getAttribute(e)}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),{ns:i}=this.getAttribute("title");if(i!==6){let s=I(this,{start:e},"invalid-gallery","invalid gallery image");s.suggestions=[{desc:"prefix",range:[e,e],text:"File:"}],n.push(s)}return n}}});var at,bs,Bn,Vr,Ts=y(()=>{"use strict";q();P();jn();De();Vr=class extends v{constructor(e,t=A.getConfig(),n=[]){var i;super(void 0,t,n,{});T(this,at);for(let s of(i=e==null?void 0:e.split(`
|
|
10
|
-
`))!=null?i:[]){let o=/^([^|]+)(?:\|(.*))?/u.exec(s);if(!o){super.insertAt(s.trim()?new D(s,t,n):s);continue}let[,l,g]=o;N(this,at,bs).call(this,l)?super.insertAt(new Mt("gallery",l,g,t,n)):super.insertAt(new D(s,t,n))}}get type(){return"ext-inner"}get widths(){return N(this,at,Bn).call(this,"widths")}get heights(){return N(this,at,Bn).call(this,"heights")}toString(e){return super.toString(e,`
|
|
11
|
-
`)}text(){return super.text(`
|
|
12
|
-
`).replace(/\n\s*\n/gu,`
|
|
13
|
-
`)}getGaps(){return 1}lint(e=this.getAbsoluteIndex(),t){let{top:n,left:i}=this.getRootNode().posFromIndex(e),s=[];for(let o=0;o<this.length;o++){let l=this.childNodes[o],g=l.toString(),{length:u}=g,d=g.trim(),{type:p}=l,h=n+o,f=o?0:i;if(l.setAttribute("aIndex",e),p==="noinclude"&&d&&!/^<!--.*-->$/u.test(d)){let m=e+u;s.push({rule:"no-ignored",message:A.msg("invalid content in <$1>","gallery"),severity:d.startsWith("|")?"warning":"error",startIndex:e,endIndex:m,startLine:h,endLine:h,startCol:f,endCol:f+u,suggestions:[{desc:"remove",range:[e,m],text:""},{desc:"comment",range:[e,m],text:`<!--${g}-->`}]})}else p!=="noinclude"&&p!=="text"&&s.push(...l.lint(e,t));e+=u+1}return s}print(){return super.print({sep:`
|
|
14
|
-
`})}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t);return Object.assign(n,{widths:this.widths,heights:this.heights}),n}};at=new WeakSet,bs=function(e){return this.normalizeTitle(e,6,!0,!0,!0).valid},Bn=function(e){var i,s;let t=(i=this.parentNode)==null?void 0:i.getAttr(e),n=typeof t=="string"&&((s=/^(\d+)\s*(?:px)?$/u.exec(t))==null?void 0:s[1]);return n&&Number(n)||120}});var zt,qn=y(()=>{"use strict";B();dr();zt=class extends $e{get type(){return"link"}lint(r=this.getAbsoluteIndex(),e){let t=super.lint(r,e);return this.closest("ext-link-text")&&t.push(I(this,{start:r},"nested-link","internal link in an external link")),t}}});var pa,ua,xr,je,Qr=y(()=>{"use strict";B();X();K();q();P();pa=String.raw`(?:[${Se}\t]| |�*160;|&#[xX]0*[aA]0;)`,ua=new RegExp(`${pa}+`,"gu"),je=class extends v{constructor(e,t="free-ext-link",n=A.getConfig(),i){super(e,n,i,{});T(this,xr);b(this,xr,t)}get type(){return c(this,xr)}get innerText(){let e=new Map([["!","|"],["=","="]]),t=be(this.childNodes.map(n=>{let{type:i}=n,s=String(n.name);return i==="magic-word"&&e.has(s)?e.get(s):n}));return this.type==="magic-link"&&(t=t.replace(ua," ")),t}get link(){let{innerText:e}=this;return this.type==="magic-link"?e.startsWith("ISBN")?`ISBN ${e.slice(5).replace(/[- ]/gu,"").replace(/x$/u,"X")}`:e:vi(e)}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),i=new R(this,e),{type:s,childNodes:o}=this;if(s==="magic-link"){let{link:d}=this;if(d.startsWith("ISBN")){let p=[...d.slice(5)].map(h=>h==="X"?10:Number(h));(p.length===10&&p.reduce((h,f,m)=>h+f*(10-m),0)%11||p.length===13&&(p[12]===10||p.reduce((h,f,m)=>h+f*(m%2?3:1),0)%10))&&n.push(I(this,i,"invalid-isbn","invalid ISBN"))}return n}let l=s==="ext-link-url",g=l?/\|/u:/[,;。:!?()]+/u,u=o.find(d=>d.type==="text"&&g.test(d.data));if(u){let{data:d}=u,p=C(u,i,"unterminated-url",A.msg("$1 in URL",l?'"|"':"full-width punctuation"),"warning"),{index:h,0:f}=g.exec(d),m=p.startIndex+h;p.suggestions=l?[{desc:"whitespace",range:[m,m+1],text:" "}]:[{desc:"whitespace",range:[m,m],text:" "},{desc:"escape",range:[m,m+f.length],text:encodeURI(f)}],n.push(p)}return n}getUrl(e){}};xr=new WeakMap});var Be,Wt,_n=y(()=>{"use strict";B();q();P();Qr();Wt=class extends v{constructor(e,t="",n="",i=A.getConfig(),s=[]){super(void 0,i,s,{});T(this,Be);let o=e&&/^\0\d+f\x7F$/u.test(e)?s[Number(e.slice(1,-2))]:new je(e,"ext-link-url",i,s);if(this.insertAt(o),b(this,Be,t),n){let l=new v(n,i,s,{});l.type="ext-link-text",l.setAttribute("stage",10),this.insertAt(l)}}get type(){return"ext-link"}toString(e){return this.length===1?`[${super.toString(e)}${c(this,Be)}]`:`[${super.toString(e,c(this,Be))}]`}text(){return`[${super.text(" ")}]`}getAttribute(e){return e==="padding"?1:super.getAttribute(e)}getGaps(){return c(this,Be).length}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t);return this.length===1&&this.closest("heading-title")&&n.push(I(this,{start:e},"var-anchor","variable anchor in a section header")),n}print(){return super.print(this.length===1?{pre:"[",post:`${c(this,Be)}]`}:{pre:"[",sep:c(this,Be),post:"]"})}};Be=new WeakMap});var br,ys=y(()=>{"use strict";P();De();qn();_n();br=class extends v{get type(){return"imagemap-link"}constructor(r,e,t,n,i=[]){super(void 0,n,i),this.append(r,e.length===2?new zt(...e,n,i):new Wt(...e,n,i),new D(t,n,i))}}});var Xr,ks=y(()=>{"use strict";B();Te();K();q();P();De();jn();ys();Xr=class extends v{get type(){return"ext-inner"}get image(){return this.childNodes.find(qt("imagemap-image"))}constructor(r,e=A.getConfig(),t=[]){if(super(void 0,e,t,{}),!r)return;let n=r.split(`
|
|
15
|
-
`),i=new Set(e.protocol.split("|")),s=D,o=!0,l=!1;for(let g of n){let u=g.trim();if(!(l||!u||u.startsWith("#"))){if(o){let d=g.indexOf("|"),p=d===-1?g:g.slice(0,d),{valid:h,ns:f}=this.normalizeTitle(p,0,!0,!0);if(h&&f===6){let m=new Mt("imagemap",p,d===-1?void 0:g.slice(d+1),e,t);super.insertAt(m),o=!1;continue}else l=!0}else if(g.trim().split(/[\t ]/u,1)[0]==="desc"){super.insertAt(g);continue}else if(g.includes("[")){let d=g.indexOf("["),p=g.slice(d),h=/^\[\[([^|]+)(?:\|([^\]]+))?\]\][\w\s]*$/u.exec(p);if(h){if(this.normalizeTitle(h[1],0,!0,!0,!1,!0).valid){super.insertAt(new br(g.slice(0,d),h.slice(1),p.slice(p.indexOf("]]")+2),e,t));continue}}else if(i.has(p.slice(1,p.indexOf(":")+1))||i.has(p.slice(1,p.indexOf("//")+2))){let f=/^\[([^\]\s]+)(?:(\s+(?!\s))([^\]]*))?\][\w\s]*$/u.exec(p);if(f){super.insertAt(new br(g.slice(0,d),f.slice(1),p.slice(p.indexOf("]")+1),e,t));continue}}}}super.insertAt(new s(g,e,t))}}toString(r){return super.toString(r,`
|
|
16
|
-
`)}text(){return super.text(`
|
|
17
|
-
`).replace(/\n{2,}/gu,`
|
|
18
|
-
`)}getGaps(){return 1}lint(r=this.getAbsoluteIndex(),e){let t=super.lint(r,e),n=new R(this,r);return this.image?t.push(...this.childNodes.filter(i=>{let s=i.toString().trim();return i.type==="noinclude"&&s&&!s.startsWith("#")}).map(i=>{let s=C(i,n,"invalid-imagemap","invalid link in <imagemap>");return s.suggestions=[{desc:"remove",range:[s.startIndex-1,s.endIndex],text:""},{desc:"comment",range:[s.startIndex,s.startIndex],text:"# "}],s})):t.push(I(this,n,"invalid-imagemap","<imagemap> without an image")),t}print(){return super.print({sep:`
|
|
19
|
-
`})}}});var Kr,vs=y(()=>{"use strict";B();q();Ue();Kr=class extends oe{get type(){return"ext-inner"}lint(r=this.getAbsoluteIndex()){let{name:e,firstChild:{data:t}}=this;if((e==="templatestyles"||e==="section")&&t){let i=I(this,{start:r},"void-ext",A.msg("nothing should be in <$1>",e));return i.fix={range:[r,i.endIndex],text:"",desc:"empty"},[i]}let n=new RegExp(String.raw`<\s*(?:/\s*)${e==="nowiki"?"":"?"}(${e})\b`,"giu");return super.lint(r,n)}}});var Jr={};le(Jr,{NestedToken:()=>On});var ca,Tr,Ut,On,Yr=y(()=>{"use strict";B();K();ur();Ur();q();P();Mn();De();ca=new Set(["comment","include","arg","template","magic-word"]),On=class extends v{constructor(e,t,n,i,s=[]){if(typeof t=="boolean"){let o=Symbol("InputboxToken"),{length:l}=s;s.push(o),e&&(e=rt(e,i,s,t)),e&&(e=fr(e,i,s)),s.splice(l,1)}else e&&(e=e.replace(t,(o,l,g,u,d)=>{let p=`\0${s.length+1}e\x7F`;return new qe(l,g,u,d,i,!1,s),p}));e&&(e=e.replace(/(^|\0\d+.\x7F)([^\0]+)(?=$|\0\d+.\x7F)/gu,(o,l,g)=>(new D(g,i,s),`${l}\0${s.length}n\x7F`)));super(e,i,s);T(this,Tr);T(this,Ut);b(this,Tr,[...n]),b(this,Ut,t)}get type(){return"ext-inner"}lint(e=this.getAbsoluteIndex(),t){let n=new R(this,e),i=c(this,Ut)?"includeonly":"noinclude",s=typeof c(this,Ut)=="boolean"?new RegExp(String.raw`^(?:<${i}(?:\s[^>]*)?/?>|</${i}\s*>)$`,"iu"):/^<!--[\s\S]*-->$/u;return[...super.lint(e,t),...this.childNodes.filter(o=>{let{type:l,name:g}=o;if(l==="ext")return!c(this,Tr).includes(g);if(ca.has(l))return!1;let u=o.toString().trim();return u&&!s.test(u)}).map(o=>{let l=C(o,n,"no-ignored",A.msg("invalid content in <$1>",this.name));return l.suggestions=[{desc:"remove",range:[l.startIndex,l.endIndex],text:""},{desc:"comment",range:[l.startIndex,l.endIndex],text:`<!--${o.toString()}-->`}],l})]}};Tr=new WeakMap,Ut=new WeakMap});var As,Ss,zn,ha,qe,Mn=y(()=>{"use strict";B();K();q();jr();P();wn();_r();es();In();ps();Ts();ks();vs();As=(a,r)=>{let e=new Set(a);return e.delete(r),[...e]};Ss=[Et()];qe=class extends(ha=It){get type(){return"ext"}constructor(r,e,t,n,i=A.getConfig(),s=!1,o=[]){var p;let l=r.toLowerCase(),g=new Ve(!e||/^\s/u.test(e)?e:` ${e}`,"ext-attrs",l,i,o),u=ae(Y({},i),{ext:As(i.ext,l),excludes:[...(p=i.excludes)!=null?p:[]]}),d;switch(u.inExt=!0,l){case"tab":u.ext=As(u.ext,"tabs");case"indicator":case"poem":case"ref":case"option":case"combooption":case"tabs":case"poll":case"seo":l==="poem"&&u.excludes.push("heading"),d=new v(t,u,o);break;case"pre":d=new Or(t,u,o);break;case"dynamicpagelist":d=new Pt(s,t,u,o);break;case"inputbox":u.excludes.push("heading"),d=new Dr(s,t,u,o);break;case"references":{let{NestedToken:h}=(Yr(),Q(Jr));u.excludes.push("heading"),d=new h(t,s,["ref"],u,o);break}case"choose":{let{NestedToken:h}=(Yr(),Q(Jr));d=new h(t,/<(option|choicetemplate)(\s[^>]*?)?(?:\/>|>([\s\S]*?)<\/(\1)>)/gu,["option","choicetemplate"],u,o);break}case"combobox":{let{NestedToken:h}=(Yr(),Q(Jr));d=new h(t,/<(combooption)(\s[^>]*?)?(?:\/>|>([\s\S]*?)<\/(combooption\s*)>)/giu,["combooption"],u,o);break}case"gallery":d=new Vr(t,u,o);break;case"imagemap":d=new Xr(t,u,o);break;default:d=new Kr(t,u,o)}d.setAttribute("name",l),d.type==="plain"&&(d.type="ext-inner"),super(r,g,d,n,i,o),this.seal("closed",!0)}lint(r=this.getAbsoluteIndex(),e){let t=super.lint(r,e),n=new R(this,r);return this.name!=="nowiki"&&this.closest("html-attrs,table-attrs")&&t.push(I(this,n,"parsing-order","extension tag in HTML tag attributes")),this.name==="ref"&&this.closest("heading-title")&&t.push(I(this,n,"var-anchor","variable anchor in a section header")),t}};zn=te(ha),qe=ne(zn,0,"ExtToken",Ss,qe),re(zn,1,qe)});var ws,Wn,ma,lt,Cs=y(()=>{"use strict";B();Ye();q();Ue();ws=[ye(!1)];lt=class extends(ma=oe){constructor(e,t,n,i){super(e,n,i);ie(this,"closed");this.closed=t}get type(){return"comment"}getAttribute(e){return e==="padding"?4:super.getAttribute(e)}lint(e=this.getAbsoluteIndex()){if(this.closed)return[];let t=I(this,{start:e},"unclosed-comment",A.msg("unclosed $1","HTML comment"));return t.suggestions=[{range:[t.endIndex,t.endIndex],text:"-->",desc:"close"}],[t]}toString(e){return e?"":`<!--${this.innerText}${this.closed?"-->":""}`}print(){return super.print({pre:"<!--",post:this.closed?"-->":""})}};Wn=te(ma),lt=ne(Wn,0,"CommentToken",ws,lt),re(Wn,1,lt)});var Is={};le(Is,{parseCommentAndExt:()=>rt});var Ns,fa,Un,xa,ba,Ta,$s,rt,ur=y(()=>{"use strict";qi();De();Oi();Mn();Cs();Ns="<onlyinclude>",fa="</onlyinclude>",{length:Un}=Ns,xa=new WeakMap,ba=new WeakMap,Ta=(a,r)=>{let e=r?xa:ba;if(e.has(a))return e.get(a);let t=r?"includeonly":"(?:no|only)include",n=r?"noinclude":"includeonly",i=new RegExp(String.raw`<!--[\s\S]*?(?:-->|$)|<${t}(?:\s[^>]*)?/?>|</${t}\s*>|<(${a.join("|")})(\s[^>]*?)?(?:/>|>([\s\S]*?)</(\1\s*)>)|<(${n})(\s[^>]*?)?(?:/>|>([\s\S]*?)(?:</(${n}\s*)>|$))`,"giu");return e.set(a,i),i},$s=a=>{let r=a.indexOf(Ns);return{i:r,j:a.indexOf(fa,r+Un)}},rt=(a,r,e,t)=>{if(t){let{i:n,j:i}=$s(a);if(n!==-1&&i!==-1){let s="",o=l=>{new D(l,r,e),s+=`\0${e.length-1}n\x7F`};for(;n!==-1&&i!==-1;){let l=`\0${e.length}e\x7F`;new Pr(a.slice(n+Un,i),r,e),n>0&&o(a.slice(0,n)),s+=l,a=a.slice(i+Un+1),{i:n,j:i}=$s(a)}return a&&o(a),s}}return a.replace(Ta(r.ext,t),(n,i,s,o,l,g,u,d,p)=>{let h=e.length,f="n";if(i)f="e",new qe(i,s,o,l,r,g,e);else if(n.startsWith("<!--")){f="c";let m=n.endsWith("-->");new lt(n.slice(4,m?-3:void 0),m,r,e)}else g?new tt(g,u,d,p,r,e):new D(n,r,e);return`\0${h}${f}\x7F`})}});var ya,ka,va,Es,Dt,Ie,Qe,_e,Dn,Aa,dt,Ls=y(()=>{"use strict";B();Te();K();jr();P();ya=new Set(["if","ifeq","ifexpr","ifexist","iferror","switch"]),ka=new Set(["b","big","center","cite","code","del","dfn","em","font","i","ins","kbd","mark","pre","q","s","samp","small","strike","strong","sub","sup","tt","u","var"]),va=new Set(["strike","big","center","font","tt"]);Es=[Et()];dt=class extends(Aa=v){constructor(e,t,n,i,s,o){super(void 0,s,o);T(this,Dt);T(this,Ie);T(this,Qe);T(this,_e);this.insertAt(t),this.setAttribute("name",e.toLowerCase()),b(this,Dt,n),b(this,Ie,i),b(this,Qe,e)}get type(){return"html"}get selfClosing(){return c(this,Ie)}get closing(){return c(this,Dt)}toString(e){return`<${this.closing?"/":""}${c(this,Qe)}${super.toString(e)}${c(this,Ie)?"/":""}>`}text(){let{closing:e}=this,t=c(this,Qe)+(e?"":super.text());return`<${e?"/":""}${t}${c(this,Ie)?"/":""}>`}getAttribute(e){return e==="padding"?c(this,Qe).length+(this.closing?2:1):super.getAttribute(e)}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),{name:i,parentNode:s,closing:o,selfClosing:l}=this,g=new R(this,e);if(i==="h1"&&!o){let m=I(this,g,"h1","<h1>");m.suggestions=[{desc:"h2",range:[e+2,e+3],text:"2"}],n.push(m)}if(this.closest("table-attrs")){let m=I(this,g,"parsing-order","HTML tag in table attributes");m.fix={desc:"remove",range:[e,m.endIndex],text:""},n.push(m)}va.has(i)&&n.push(I(this,g,"obsolete-tag","obsolete HTML tag","warning")),(i==="b"||i==="strong")&&this.closest("heading-title")&&n.push(I(this,g,"bold-header","bold in section header","warning"));let{html:[,u,d]}=this.getAttribute("config"),p=d.includes(i),h=u.includes(i);if(o&&(l||p)||l&&(!p&&!h)){let m=I(this,g,"unmatched-tag",o?"tag that is both closing and self-closing":"invalid self-closing tag"),x={desc:"open",range:[e+1,e+2],text:""},k={desc:"no self-closing",range:[m.endIndex-2,m.endIndex-1],text:""};h?m.suggestions=[x,k]:o?m.fix=p?x:k:m.suggestions=[k,{desc:"close",range:[m.endIndex-2,m.endIndex],text:`></${i}>`}],n.push(m)}else if(!this.findMatchingTag()){let m=I(this,g,"unmatched-tag",o?"unmatched closing tag":"unclosed tag");if(o){let x=this.closest("magic-word");x&&ya.has(x.name)?m.severity="warning":m.suggestions=[{desc:"remove",range:[e,m.endIndex],text:""}]}else{let x=s==null?void 0:s.childNodes;ka.has(i)&&(x!=null&&x.slice(0,x.indexOf(this)).some(({type:k,name:S})=>k==="html"&&S===i))?m.suggestions=[{desc:"close",range:[e+1,e+1],text:"/"}]:this.closest("heading-title")||(m.severity="warning")}n.push(m)}return n}findMatchingTag(){return we(c(this,_e),()=>{let{name:e,parentNode:t,closing:n,selfClosing:i}=this,{html:[,s,o]}=this.getAttribute("config"),l=o.includes(e),g=s.includes(e);if(l||g&&i)return this;if(!t)return;let{childNodes:u}=t,d=u.indexOf(this),p=n?u.slice(0,d).reverse():u.slice(d+1),h=[this],{rev:f}=Z;for(let m of p)if(!(!m.is("html")||m.name!==e||g&&c(m,Ie)))if(c(m,Dt)===n)h.push(m);else{let x=h.pop();if(x===this)return m;b(x,_e,[f,m]),b(m,_e,[f,x])}for(let m of h)b(m,_e,[f,void 0])},e=>{b(this,_e,e),e[1]&&e[1]!==this&&b(e[1],_e,[Z.rev,this])})}print(){return super.print({pre:`<${this.closing?"/":""}${c(this,Qe)}`,post:`${c(this,Ie)?"/":""}>`})}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t);return Object.assign(n,{closing:this.closing,selfClosing:c(this,Ie)}),n}};Dn=te(Aa),Dt=new WeakMap,Ie=new WeakMap,Qe=new WeakMap,_e=new WeakMap,dt=ne(Dn,0,"HtmlToken",Es,dt),re(Dn,1,dt)});var Fs={};le(Fs,{parseHtml:()=>wa});var Sa,wa,Rs=y(()=>{"use strict";_r();Ls();Sa=/^(\/?)([a-z][^\s/>]*)((?:\s|\/(?!>))[^>]*?)?(\/?>)([^<]*)$/iu,wa=(a,r,e)=>{var s;let{html:t}=r;(s=r.htmlElements)!=null||(r.htmlElements=new Set([...t[0],...t[1],...t[2]]));let n=a.split("<"),i=n.shift();for(let o of n){let l=Sa.exec(o),g=l==null?void 0:l[2],u=g==null?void 0:g.toLowerCase();if(!l||!r.htmlElements.has(u)){i+=`<${o}`;continue}let[,d,,p="",h,f]=l,{length:m}=e,x=new Ve(p,"html-attrs",u,r,e),k=x.getAttr("itemprop");if(u==="meta"&&(k===void 0||x.getAttr("content")===void 0)||u==="link"&&(k===void 0||x.getAttr("href")===void 0)){i+=`<${o}`,e.length=m;continue}i+=`\0${e.length}x\x7F${f}`,new dt(g,x,d==="/",h==="/>",r,e)}return i}});var Gt,Gn=y(()=>{"use strict";jr();q();P();Ct();_r();Gt=class extends Et(1)(v){constructor(r,e,t,n,i=A.getConfig(),s=[],o){super(void 0,i,s,o),this.append(new ke(e,r,"table-syntax",i,s,{}),new Ve(n,"table-attrs",t,i,s))}}});var ve,yr,kr,Hn,Ht,Vn=y(()=>{"use strict";B();K();q();P();Gn();Ht=class extends Gt{constructor(e,t,n=A.getConfig(),i=[]){var g;let s=/\||\0\d+!\x7F/u.exec(t!=null?t:""),o=s?t.slice(0,s.index):"";/\[\[|-\{/u.test(o)&&(s=null,o="");super(/^(?:\n[^\S\n]*(?:[|!]|\|\+|\{\{\s*!\s*\}\}\+?)|(?:\||\{\{\s*!\s*\}\}){2}|!!|\{\{\s*!!\s*\}\})$/u,e,"td",o,n,i);T(this,kr);T(this,ve,"");T(this,yr);s&&([Nr(this,ve)._]=s);let l=new v(t==null?void 0:t.slice(((g=s==null?void 0:s.index)!=null?g:NaN)+c(this,ve).length),n,i);l.type="td-inner",l.setAttribute("stage",4),this.insertAt(l)}get type(){return"td"}get rowspan(){return this.getAttr("rowspan")}get colspan(){return this.getAttr("colspan")}get subtype(){return N(this,kr,Hn).call(this).subtype}afterBuild(){c(this,ve).includes("\0")&&b(this,ve,this.buildFromStr(c(this,ve),0)),super.afterBuild()}toString(e){let{childNodes:[t,n,i]}=this;return t.toString(e)+n.toString(e)+c(this,ve)+i.toString(e)}text(){let{childNodes:[e,t,n]}=this;return e.text()+t.text()+c(this,ve)+n.text()}getGaps(e){return e===1?c(this,ve).length:0}lint(e=this.getAbsoluteIndex(),t){let n=super.lint(e,t),i=new R(this,e+this.getRelativeIndex(this.length-1));for(let s of this.lastChild.childNodes)if(s.type==="text"){let{data:o}=s;if(o.includes("|")){let l=o.includes("||"),g=C(s,i,"pipe-like",'additional "|" in a table cell',l?"error":"warning");if(l){let u={caption:"|+",td:"|",th:"!"}[this.subtype];g.fix={range:[g.startIndex,g.endIndex],text:o.replace(/\|\|/gu,`
|
|
20
|
-
${u}`),desc:"newline"}}else g.suggestions=[{desc:"escape",range:[g.startIndex,g.endIndex],text:o.replace(/\|/gu,"|")}];n.push(g)}}return n}isIndependent(){return this.firstChild.text().startsWith(`
|
|
21
|
-
`)}getAttr(e){let t=super.getAttr(e);return e==="rowspan"||e==="colspan"?parseInt(t)||1:t}print(){let{childNodes:[e,t,n]}=this;return`<span class="wpb-td">${e.print()}${t.print()}${c(this,ve)}${n.print()}</span>`}json(e,t=this.getAbsoluteIndex()){let n=super.json(void 0,t);return Object.assign(n,{subtype:this.subtype,rowspan:this.rowspan,colspan:this.colspan}),n}};ve=new WeakMap,yr=new WeakMap,kr=new WeakSet,Hn=function(){return we(c(this,yr),()=>{var o;let e=this.firstChild.text(),t=e.slice(-1),n="td";if(t==="!"?n="th":t==="+"&&(n="caption"),this.isIndependent())return{subtype:n};let{previousSibling:i}=this;return Y({},N(o=i,kr,Hn).call(o))},e=>{b(this,yr,e)})}});var Vt,Qn=y(()=>{"use strict";B();Gn();Vn();Vt=class extends Gt{lint(r=this.getAbsoluteIndex(),e){let t=super.lint(r,e),n=this.childNodes.find(({type:l})=>l==="table-inter");if(!n)return t;let i=n.childNodes.find(l=>l.text().trim()),s=/^\s*(?:!|\{\{\s*![!-]?\s*\}\})/u;if(!i||s.test(i.toString())||i.is("arg")&&s.test(i.default||""))return t;if(i.is("magic-word"))try{if(i.getPossibleValues().every(l=>s.test(l.text())))return t}catch(l){}let o=C(n,{start:r},"fostered-content","content to be moved out from the table");return o.severity=i.type==="template"?"warning":"error",o.startIndex++,o.startLine++,o.startCol=0,t.push(o),t}getRowCount(){return Number(this.childNodes.some(r=>r instanceof Ht&&r.isIndependent()&&!r.firstChild.text().endsWith("+")))}}});var Ca,$a,Na,Xn,Zr,Ps=y(()=>{"use strict";B();Te();K();q();Qn();Ct();Ca=/^\n[^\S\n]*(?:\|\}|\{\{\s*!\s*\}\}\}|\{\{\s*!\)\s*\}\})$/u,$a=(a,r)=>new Array(a).fill(void 0).map((e,t)=>r(t)),Na=({type:a})=>a==="tr"||a==="table-syntax",Xn=class extends Array{},Zr=class extends Vt{get type(){return"table"}get closed(){return this.lastChild.type==="table-syntax"}constructor(r,e,t,n){super(/^(?:\{\||\{\{\{\s*!\s*\}\}|\{\{\s*\(!\s*\}\})$/u,r,"table",e,t,n,{})}lint(r=this.getAbsoluteIndex(),e){let t=super.lint(r,e),n=new R(this,r);this.closed||t.push(C(this.firstChild,n,"unclosed-table",A.msg("unclosed $1","table")));let i=this.getLayout(),{length:s}=i;if(s>1){let o=1,l=1/0,g=0;for(;g<s;g++){let u=i[g],d=u.length;if(d<o)break;d<l&&(l=d);let p=u.indexOf(u[d-1])+1;if(p>l)break;p>o&&(o=p)}if(g<s){let u=C(this.getNthRow(g),n,"table-layout","inconsistent table layout","warning");u.startIndex++,u.startLine++,u.startCol=0,t.push(u)}}return t}close(r=`
|
|
22
|
-
|}`,e){let t=this.getAttribute("config"),n=this.getAttribute("accum"),i=e?[r]:A.parse(r,this.getAttribute("include"),2,t).childNodes;Z.run(()=>{let s=new ke(void 0,Ca,"table-syntax",t,n);super.insertAt(s)}),this.lastChild.replaceChildren(...i)}getLayout(r){let e=this.getAllRows(),{length:t}=e,n=new Xn(...$a(t,()=>[]));for(let i=0;i<n.length;i++){let s=n[i],o=0,l=0,g;for(let u of e[i].childNodes.slice(2))if(u.type==="td"){if(u.isIndependent()&&(g=u.subtype!=="caption"),g){let d={row:i,column:o},{rowspan:p,colspan:h}=u;for(o++;s[l];)l++;for(let f=i;f<Math.min(i+p,t);f++)for(let m=l;m<l+h;m++)n[f][m]=d;l+=h}}else if(Na(u))break}return n}getAllRows(){return[...super.getRowCount()?[this]:[],...this.childNodes.slice(1).filter(r=>r.type==="tr"&&r.getRowCount()>0)]}getNthRow(r,e,t){let n=super.getRowCount();if(r===0&&n)return this;n&&r--;for(let i of this.childNodes.slice(2)){let{type:s}=i;if(s==="tr"&&i.getRowCount()&&(r--,r<0))return i}}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e);return t.closed=this.closed,t}}});var en,js=y(()=>{"use strict";Qn();en=class extends Vt{get type(){return"tr"}constructor(r,e,t,n){super(/^\n[^\S\n]*(?:\|-+|\{\{\s*!\s*\}\}-+|\{\{\s*!-\s*\}\}-*)$/u,r,"tr",e,t,n)}}});var Qt,Kn=y(()=>{"use strict";Ue();Qt=class extends oe{get indent(){return this.innerText.split(":").length-1}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e),{indent:n}=this;return n&&(t.indent=n),t}}});var Xt,Jn=y(()=>{"use strict";Kn();Xt=class extends Qt{get type(){return"dd"}}});var qs={};le(qs,{parseTable:()=>Ea});var Ia,Bs,Ea,_s=y(()=>{"use strict";P();Ps();js();Vn();Jn();Ia=a=>a.lastChild.constructor!==v,Bs=(a,r)=>a.type==="td"?r.pop():a,Ea=({firstChild:{data:a},type:r,name:e},t,n)=>{let i=[],s=a.split(`
|
|
23
|
-
`),o=r==="root"||r==="parameter-value"||r==="ext-inner"&&e==="poem"?"":`
|
|
24
|
-
${s.shift()}`,l,g=(u,d)=>{if(!d){o+=u;return}let{lastChild:p}=d;if(Ia(d)){let h=new v(u,t,n);h.type="table-inter",h.setAttribute("stage",3),d.insertAt(h)}else p.setText(p.toString()+u)};for(let u of s){l=i.pop();let[d]=/^(?:\s|\0\d+[cno]\x7F)*/u.exec(u),p=u.slice(d.length),h=/^(:*)((?:\s|\0\d+[cn]\x7F)*)(\{\||\{(?:\0\d+[cn]\x7F)*\0\d+!\x7F|\0\d+\{\x7F)(.*)$/u.exec(p);if(h){for(;l&&l.type!=="td";)l=i.pop();let[,w,$,F,j]=h;w&&new Xt(w,t,n),g(`
|
|
25
|
-
${d}${w&&`\0${n.length-1}d\x7F`}${$}\0${n.length}b\x7F`,l),i.push(...l?[l]:[],new Zr(F,j,t,n));continue}else if(!l){o+=`
|
|
26
|
-
${u}`;continue}let f=/^(?:(\|\}|\0\d+!\x7F\}|\0\d+\}\x7F)|(\|-+|\0\d+!\x7F-+|\0\d+-\x7F-*)(?!-)|(!|(?:\||\0\d+!\x7F)\+?))(.*)$/u.exec(p);if(!f){g(`
|
|
27
|
-
${u}`,l),i.push(l);continue}let[,m,x,k,S]=f;if(m){for(;l.type!=="table";)l=i.pop();l.close(`
|
|
28
|
-
${d}${m}`,!0),g(S,i[i.length-1])}else if(x){l=Bs(l,i),l.type==="tr"&&(l=i.pop());let w=new en(`
|
|
29
|
-
${d}${x}`,S,t,n);i.push(l,w),l.insertAt(w)}else{l=Bs(l,i);let w=k==="!"?/!!|(?:\||\0\d+!\x7F){2}|\0\d+\+\x7F/gu:/(?:\||\0\d+!\x7F){2}|\0\d+\+\x7F/gu,$=w.exec(S),F=0,j=`
|
|
30
|
-
${d}${k}`,_=L=>{let V=new Ht(j,S.slice(F,$==null?void 0:$.index),t,n);return L.insertAt(V),V};for(;$;)_(l),{lastIndex:F}=w,[j]=$,$=w.exec(S);i.push(l,_(l))}}return o.slice(1)}});var tn,Os=y(()=>{"use strict";Ue();tn=class extends oe{get type(){return"hr"}}});var Ms,Yn,La,gt,zs=y(()=>{"use strict";Ye();Ue();Ms=[ye()];gt=class extends(La=oe){get type(){return"double-underscore"}constructor(r,e,t,n){super(r,t,n)}getAttribute(r){return r==="padding"?2:super.getAttribute(r)}toString(){return`__${this.innerText}__`}print(){return super.print({pre:"__",post:"__"})}};Yn=te(La),gt=ne(Yn,0,"DoubleUnderscoreToken",Ms,gt),re(Yn,1,gt)});var Ws={};le(Ws,{parseHrAndDoubleUnderscore:()=>Fa});var Fa,Us=y(()=>{"use strict";Os();zs();En();Fa=({firstChild:{data:a},type:r,name:e},t,n)=>{var l,g,u;let{doubleUnderscore:[i,s,o]}=t;return(l=t.insensitiveDoubleUnderscore)!=null||(t.insensitiveDoubleUnderscore=new Set(i)),(g=t.sensitiveDoubleUnderscore)!=null||(t.sensitiveDoubleUnderscore=new Set(s)),(u=t.regexHrAndDoubleUnderscore)!=null||(t.regexHrAndDoubleUnderscore=new RegExp(`__(${[...i,...s].join("|")})__`,"giu")),r!=="root"&&(r!=="ext-inner"||e!=="poem")&&(a=`\0${a}`),a=a.replace(/^((?:\0\d+[cno]\x7F)*)(-{4,})/gmu,(d,p,h)=>(new tn(h,t,n),`${p}\0${n.length-1}r\x7F`)).replace(t.regexHrAndDoubleUnderscore,(d,p)=>{var x;let h=t.sensitiveDoubleUnderscore.has(p),f=p.toLowerCase(),m=t.insensitiveDoubleUnderscore.has(f);return h||m?(new gt(p,h,t,n),`\0${n.length-1}${m&&((x=o==null?void 0:o[f])!=null?x:f)==="toc"?"u":"n"}\x7F`):d}).replace(/^((?:\0\d+[cn]\x7F)*)(={1,6})(.+)\2((?:\s|\0\d+[cn]\x7F)*)$/gmu,(d,p,h,f,m)=>{let x=`${p}\0${n.length}h\x7F`;return new Bt(h.length,[f,m],t,n),x}),r==="root"||r==="ext-inner"&&e==="poem"?a:a.slice(1)}});var rn,Ds=y(()=>{"use strict";B();K();q();Ue();rn=class extends oe{get type(){return"quote"}get bold(){return this.innerText.length!==2}get italic(){return this.innerText.length!==3}text(){let{parentNode:r,innerText:e}=this;return(r==null?void 0:r.type)==="image-parameter"&&r.name!=="caption"?"":e}lint(r=this.getAbsoluteIndex()){let{previousSibling:e,nextSibling:t,bold:n}=this,i=A.msg('lonely "$1"',"'"),s=[],o=new R(this,r),l=(g,u,d)=>[{desc:"escape",range:[g,u],text:"'".repeat(d)},{desc:"remove",range:[g,u],text:""}];if((e==null?void 0:e.type)==="text"&&e.data.endsWith("'")){let g=I(this,o,"lonely-apos",i),{startIndex:u,startLine:d,startCol:p}=g,[,{length:h}]=/(?:^|[^'])('+)$/u.exec(e.data),f=r-h;s.push(ae(Y({},g),{startIndex:f,endIndex:u,endLine:d,startCol:p-h,endCol:p,suggestions:l(f,u,h)}))}if((t==null?void 0:t.type)==="text"&&t.data.startsWith("'")){let g=I(this,o,"lonely-apos",i),{endIndex:u,endLine:d,endCol:p}=g,[{length:h}]=/^'+/u.exec(t.data),f=u+h;s.push(ae(Y({},g),{startIndex:u,endIndex:f,startLine:d,startCol:p,endCol:p+h,suggestions:l(u,f,h)}))}if(n&&this.closest("heading-title")){let g=I(this,o,"bold-header","bold in section header","warning");g.suggestions=[{desc:"remove",range:[r,r+3],text:""}],s.push(g)}return s}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e);return Object.assign(t,{bold:this.bold,italic:this.italic}),t}}});var Gs={};le(Gs,{parseQuotes:()=>Zn});var Zn,ei=y(()=>{"use strict";Ds();Zn=(a,r,e,t)=>{var d;let n=a.split(/('{2,})/u),{length:i}=n;if(i===1)return a;let s=0,o=0,l,g,u;for(let p=1;p<i;p+=2){let h=n[p].length;switch(h){case 2:o++;break;case 4:n[p-1]+="'",n[p]="'''";case 3:if(s++,l!==void 0)break;n[p-1].endsWith(" ")?g===void 0&&u===void 0&&(u=p):n[p-1].slice(-2,-1)===" "?l=p:g!=null||(g=p);break;default:n[p-1]+="'".repeat(h-5),n[p]="'''''",o++,s++}}if(o%2===1&&s%2===1){let p=(d=l!=null?l:g)!=null?d:u;p!==void 0&&(n[p]="''",n[p-1]+="'")}for(let p=1;p<i;p+=2)new rn(n[p],r,e),n[p]=`\0${e.length-1}q\x7F`;return n.join("")}});var Hs={};le(Hs,{parseExternalLinks:()=>ti});var ti,ri=y(()=>{"use strict";X();_n();Qr();ti=(a,r,e,t)=>{var n;return(n=r.regexExternalLinks)!=null||(r.regexExternalLinks=new RegExp(String.raw`\[(\0\d+f\x7F|(?:(?:${r.protocol}|//)${Ee}|\0\d+m\x7F)${Le}(?=[[\]<>"\t${Se}]|\0\d))([${Se}]*(?![${Se}]))([^\]\x01-\x08\x0A-\x1F\uFFFD]*)\]`,"giu")),a.replace(r.regexExternalLinks,(i,s,o,l)=>{let{length:g}=e,u=/&[lg]t;/u.exec(s);return u&&(o="",l=s.slice(u.index)+o+l,s=s.slice(0,u.index)),t?(new je(s,"ext-link-url",r,e),`[\0${g}f\x7F${o}${l}]`):(new Wt(s,o,l,r,e),`\0${g}w\x7F`)})}});var nn,Vs=y(()=>{"use strict";X();dr();nn=class extends $e{get type(){return"category"}get sortkey(){let{childNodes:[,r]}=this;return r&&Je(r.text())}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e),{sortkey:n}=this;return n&&(t.sortkey=n),t}}});var Xs={};le(Xs,{parseLinks:()=>Qs});var Ra,Qs,Ks=y(()=>{"use strict";q();ei();ri();qn();Pn();Vs();Ra=/^((?:(?!\0\d+!\x7F)[^\n[\]{}|])+)(\||\0\d+!\x7F)([\s\S]*)$/u,Qs=(a,r,e,t)=>{var o;(o=r.regexLinks)!=null||(r.regexLinks=new RegExp(String.raw`^\s*(?:${r.protocol}|//)`,"iu"));let n=r.inExt?/^((?:(?!\0\d+!\x7F)[^\n[\]{}|])+)(?:(\||\0\d+!\x7F)([\s\S]*?[^\]]))?\]\]([\s\S]*)$/u:/^((?:(?!\0\d+!\x7F)[^\n[\]{}|])+)(?:(\||\0\d+!\x7F)([\s\S]*?[^\]])?)?\]\]([\s\S]*)$/u,i=a.split("[["),s=i.shift();for(let l=0;l<i.length;l++){let g=!1,u,d,p,h,f=i[l],m=n.exec(f);if(m)[,u,d,p,h]=m,h.startsWith("]")&&(p!=null&&p.includes("["))&&(p+="]",h=h.slice(1));else{let $=Ra.exec(f);$&&(g=!0,[,u,d,p]=$)}if(u===void 0||r.regexLinks.test(u)||/\0\d+[exhbru]\x7F/u.test(u)){s+=`[[${f}`;continue}let x=u.trim().startsWith(":");if(x&&g){s+=`[[${f}`;continue}let{ns:k,valid:S}=A.normalizeTitle(u,0,!1,r,!0,!0,!0,!0);if(S){if(g){if(k!==6){s+=`[[${f}`;continue}let $=!1;for(l++;l<i.length;l++){let F=i[l],j=F.split("]]");if(j.length>2){$=!0,p+=`[[${j[0]}]]${j[1]}`,h=j.slice(2).join("]]");break}else if(j.length===2)p+=`[[${j[0]}]]${j[1]}`;else{p+=`[[${F}`;break}}if(p=Qs(p,r,e,t),!$){s+=`[[${u}${d}${p}`;continue}}}else{s+=`[[${f}`;continue}p&&(p=Zn(p,r,e,t));let w=zt;x||(k===6?(p&&(p=ti(p,r,e,!0)),w=Ot):k===14&&(w=nn)),p===void 0&&d&&(p=""),s+=`\0${e.length}l\x7F${h}`,new w(u,p,r,e,d)}return s}});var to={};le(to,{parseMagicLinks:()=>Pa});var eo,Js,Ys,Zs,Pa,ro=y(()=>{"use strict";X();Qr();eo=String.raw`[${Se}\t]| |�*160;|�*a0;`,Js=`(?:${eo})+`,Ys=`(?:${eo}|-)`,Zs=String.raw`(?:RFC|PMID)${Js}\d+\b|ISBN${Js}(?:97[89]${Ys}?)?(?:\d${Ys}?){9}[\dx]\b`,Pa=(a,r,e)=>{if(!r.regexMagicLinks)try{r.regexMagicLinks=new RegExp(String.raw`(^|[^\p{L}\d_])(?:(?:${r.protocol})(${Ee}${Le})|${Zs})`,"giu")}catch(t){r.regexMagicLinks=new RegExp(String.raw`(^|\W)(?:(?:${r.protocol})(${Ee}${Le})|${Zs})`,"giu")}return a.replace(r.regexMagicLinks,(t,n,i)=>{let s=n?t.slice(n.length):t;if(i){let o="",l=/&(?:lt|gt|nbsp|#x0*(?:3[ce]|a0)|#0*(?:6[02]|160));/iu.exec(s);l&&(o=s.slice(l.index),s=s.slice(0,l.index));let g=s.includes("(")?/[^,;\\.:!?][,;\\.:!?]+$/u:/[^,;\\.:!?)][,;\\.:!?)]+$/u,u=g.exec(s);if(u){let d=1;u[0][1]===";"&&/&(?:[a-z]+|#x[\da-f]+|#\d+)$/iu.test(s.slice(0,u.index))&&(d=2),o=s.slice(u.index+d)+o,s=s.slice(0,u.index+d)}return o.length>=i.length?t:(new je(s,void 0,r,e),`${n}\0${e.length-1}w\x7F${o}`)}else if(!/^(?:RFC|PMID|ISBN)/u.test(s))return t;return new je(s,"magic-link",r,e),`${n}\0${e.length-1}i\x7F`})}});var no,io=y(()=>{"use strict";no=(a,r)=>a.startsWith(r)?r.length:[...r].findIndex((e,t)=>e!==a[t])});var sn,so=y(()=>{"use strict";Kn();sn=class extends Qt{get type(){return"list"}}});var oo={};le(oo,{parseList:()=>ja});var ja,ao=y(()=>{"use strict";io();so();Jn();ja=(a,r,e,t)=>{let n=/^((?:\0\d+[cno]\x7F)*)([;:*#]+\s*)/u.exec(a);if(!n)return r.lastPrefix="",a;let[i,s,o]=n,l=o.replace(/;/gu,":"),g=no(l,r.lastPrefix),u=(g>1?o.slice(g-1):o).split(/(?=;)/u),d=u[0].startsWith(";"),p=u.length-(d?0:1);if(g>1){let L=o.slice(0,g-1);d?u.unshift(L):u[0]=L+u[0]}r.lastPrefix=l;let h=s+u.map((L,V)=>`\0${t.length+V}d\x7F`).join("")+a.slice(i.length);for(let L of u)new sn(L,e,t);if(!p)return h;let{html:[f]}=e,m=/:+|-\{|\0\d+[xq]\x7F/gu,x=m,k=x.exec(h),S=0,w=!1,$=!1,F=0,j=(L,V)=>(new Xt(L,e,t),`${h.slice(0,V)}\0${t.length-1}d\x7F${h.slice(V+L.length)}`),_=L=>{L?S&&S--:S++};for(;k&&p;){let{0:L,index:V}=k;if(L==="-{"){if(!F){let{lastIndex:J}=x;x=/-\{|\}-/gu,x.lastIndex=J}F++}else if(L==="}-"){if(F--,!F){let{lastIndex:J}=x;x=m,x.lastIndex=J}}else if(L.endsWith("x\x7F")){let{name:J,closing:he,selfClosing:me}=t[Number(L.slice(1,-2))];(!me||f.includes(J))&&_(he)}else if(L.endsWith("q\x7F")){let{bold:J,italic:he}=t[Number(L.slice(1,-2))];J&&(_(w),w=!w),he&&(_($),$=!$)}else if(S===0){if(L.length>=p)return j(L.slice(0,p),V);p-=L.length,x.lastIndex=V+4+String(t.length).length,h=j(L,V)}k=x.exec(h)}return h}});var lo,Oe,on,go=y(()=>{"use strict";B();K();P();Re();lo=new Set(["A","T","R","D","-","H","N"]),on=class extends v{constructor(e,t,n=[]){super(void 0,t,n,{});T(this,Oe);this.append(...e.map(i=>new z(i,"converter-flag",t,n)))}get type(){return"converter-flags"}afterBuild(){b(this,Oe,this.childNodes.map(e=>e.text().trim())),super.afterBuild()}toString(e){return super.toString(e,";")}text(){return super.text(";")}getGaps(){return 1}getUnknownFlags(){return new Set(c(this,Oe).filter(e=>/\{{3}[^{}]+\}{3}/u.test(e)))}getVariantFlags(){let e=new Set(this.getAttribute("config").variants);return new Set(c(this,Oe).filter(t=>e.has(t)))}lint(e=this.getAbsoluteIndex(),t){let n=this.getVariantFlags(),i=this.getUnknownFlags(),s=new Set(c(this,Oe).filter(d=>lo.has(d))),o=c(this,Oe).filter(d=>!d).length,l=c(this,Oe).length-i.size-o,g=super.lint(e,t);if(n.size===l||s.size===l)return g;let u=new R(this,e);for(let d=0;d<this.length;d++){let p=this.childNodes[d],h=p.text().trim();if(h&&!n.has(h)&&!i.has(h)&&(n.size>0||!s.has(h))){let f=C(p,u,"no-ignored","invalid conversion flag");n.size===0&&lo.has(h.toUpperCase())?f.fix={range:[f.startIndex,f.endIndex],text:h.toUpperCase(),desc:"uppercase"}:f.suggestions=[{desc:"remove",range:[f.startIndex-(d&&1),f.endIndex],text:""}],g.push(f)}}return g}print(){return super.print({sep:";"})}};Oe=new WeakMap});var Kt,po=y(()=>{"use strict";q();P();Re();Kt=class extends v{get type(){return"converter-rule"}get variant(){var r,e;return(e=(r=this.childNodes[this.length-2])==null?void 0:r.text().trim())!=null?e:""}constructor(r,e=!0,t=A.getConfig(),n=[]){super(void 0,t,n);let i=r.indexOf(":"),s=r.slice(0,i).indexOf("=>"),o=s===-1?r.slice(0,i):r.slice(s+2,i);e&&t.variants.includes(o.trim())?(super.insertAt(new z(o,"converter-rule-variant",t,n)),super.insertAt(new z(r.slice(i+1),"converter-rule-to",t,n)),s!==-1&&super.insertAt(new z(r.slice(0,s),"converter-rule-from",t,n),0)):super.insertAt(new z(r,"converter-rule-to",t,n))}toString(r){let{childNodes:e,firstChild:t,lastChild:n}=this;return e.length===3?`${t.toString(r)}=>${e[1].toString(r)}:${n.toString(r)}`:super.toString(r,":")}text(){let{childNodes:r,firstChild:e,lastChild:t}=this;return r.length===3?`${e.text()}=>${r[1].text()}:${t.text()}`:super.text(":")}getGaps(r){return r===0&&this.length===3?2:1}print(){let{childNodes:r}=this;if(r.length===3){let[e,t,n]=r;return`<span class="wpb-converter-rule">${e.print()}=>${t.print()}:${n.print()}</span>`}return super.print({sep:":"})}json(r,e=this.getAbsoluteIndex()){let t=super.json(void 0,e);return t.variant=this.variant,t}}});var an,uo=y(()=>{"use strict";X();P();go();po();an=class extends v{get type(){return"converter"}constructor(r,e,t,n=[]){super(void 0,t,n),this.append(new on(r,t,n));let[i]=e,s=i.includes(":"),o=new Kt(i,s,t,n);s&&o.length===1||!s&&e.length===2&&!se(e[1]).trim()?this.insertAt(new Kt(e.join(";"),!1,t,n)):this.append(o,...e.slice(1).map(l=>new Kt(l,!0,t,n)))}toString(r){let{childNodes:[e,...t]}=this;return`-{${e.toString(r)}${e.length>0?"|":""}${t.map(n=>n.toString(r)).join(";")}}-`}text(){let{childNodes:[r,...e]}=this;return`-{${r.text()}|${be(e,";")}}-`}getAttribute(r){return r==="padding"?2:super.getAttribute(r)}getGaps(r){return r||this.firstChild.length>0?1:0}print(){let{childNodes:[r,...e]}=this;return`<span class="wpb-converter">-{${r.print()}${r.length>0?"|":""}${Fe(e,{sep:";"})}}-</span>`}}});var co={};le(co,{parseConverter:()=>Ba});var Ba,ho=y(()=>{"use strict";uo();Ba=(a,r,e)=>{var l;(l=r.regexConverter)!=null||(r.regexConverter=new RegExp(String.raw`;(?=(?:[^;]*?=>)?\s*(?:${r.variants.join("|")})\s*:|(?:\s|\0\d+[cn]\x7F)*$)`,"u"));let t=/-\{/gu,n=/-\{|\}-/gu,i=[],s=t,o=s.exec(a);for(;o;){let{0:g,index:u}=o;if(g==="}-"){let d=i.pop(),{length:p}=e,h=a.slice(d.index+2,u),f=h.indexOf("|"),[m,x]=f===-1?[[],h]:[h.slice(0,f).split(";"),h.slice(f+1)],k=x.replace(/(&[#a-z\d]+);/giu,"$1"),S=k.split(r.regexConverter).map(w=>w.replace(/\x01/gu,";"));new an(m,S,r,e),a=`${a.slice(0,d.index)}\0${p}v\x7F${a.slice(u+2)}`,i.length===0&&(s=t),s.lastIndex=d.index+3+String(p).length}else i.push(o),s=n,s.lastIndex=u+2;o=s.exec(a)}return a}});var Sr={};le(Sr,{Token:()=>v});var vr,Ae,O,U,pt,Jt,Ar,M,mo,fo,xo,bo,To,yo,ko,vo,Ao,So,wo,Co,ni,v,P=y(()=>{"use strict";X();B();q();$i();Ei();ni=class ni extends Er{constructor(e,t=A.getConfig(),n=[],i){super();T(this,M);T(this,vr,"plain");T(this,Ae,0);T(this,O);T(this,U);T(this,pt);T(this,Jt,!1);T(this,Ar);typeof e=="string"&&this.insertAt(e),b(this,O,t),b(this,U,n),n.push(this)}get type(){return c(this,vr)}set type(e){b(this,vr,e)}parseOnce(e=c(this,Ae),t=!1,n){if(e<c(this,Ae)||this.length===0||!this.getAttribute("plain"))return this;if(c(this,Ae)>=11)return this;switch(e){case 0:if(this.type==="root"){c(this,U).pop();let i=N(this,M,mo).call(this);t&&(t=!i)}b(this,pt,t),N(this,M,fo).call(this,t);break;case 1:N(this,M,xo).call(this);break;case 2:N(this,M,bo).call(this);break;case 3:N(this,M,To).call(this);break;case 4:N(this,M,yo).call(this);break;case 5:N(this,M,ko).call(this,n);break;case 6:N(this,M,vo).call(this,n);break;case 7:N(this,M,Ao).call(this);break;case 8:N(this,M,So).call(this);break;case 9:N(this,M,wo).call(this);break;case 10:N(this,M,Co).call(this)}if(this.type==="root")for(let i of c(this,U))i==null||i.parseOnce(e,t,n);return Nr(this,Ae)._++,this}buildFromStr(e,t){let n=e.split(/[\0\x7F]/u).map((i,s)=>{if(s%2===0)return new ar(i);if(isNaN(i.slice(-1)))return c(this,U)[Number(i.slice(0,-1))];throw new Error(`Failed to build! Unrecognized token: ${i}`)});return t===0?n.map(String).join(""):t===1?be(n):n}build(){b(this,Ae,11);let{length:e,firstChild:t}=this,n=t==null?void 0:t.toString();if(e===1&&t.type==="text"&&n.includes("\0")&&(this.replaceChildren(...this.buildFromStr(n)),this.normalize(),this.type==="root"))for(let i of c(this,U))i==null||i.build()}afterBuild(){if(this.type==="root")for(let e of c(this,U))e==null||e.afterBuild();b(this,Jt,!0)}parse(e=11,t,n){for(e=Math.min(e,11);c(this,Ae)<e;)this.parseOnce(c(this,Ae),t,n);return e&&(this.build(),this.afterBuild()),this}getAttribute(e){var t;switch(e){case"plain":return this.constructor===ni;case"config":return c(this,O);case"include":return(t=c(this,pt))!=null?t:!!c(this.getRootNode(),pt);case"accum":return c(this,U);case"built":return c(this,Jt);default:return super.getAttribute(e)}}setAttribute(e,t){switch(e){case"stage":c(this,Ae)===0&&this.type==="root"&&c(this,U).shift(),b(this,Ae,t);break;default:super.setAttribute(e,t)}}insertAt(e,t=this.length){let n=typeof e=="string"?new ar(e):e;super.insertAt(n,t);let{type:i}=n;return i==="root"&&(n.type="plain"),n}normalizeTitle(e,t=0,n,i,s,o){return A.normalizeTitle(e,t,c(this,pt),c(this,O),n,i,s,o)}lint(e=this.getAbsoluteIndex(),t){var i;let n=super.lint(e,t);if(this.type==="root"){let s=new Map,o="category,html-attr#id,ext-attr#id,table-attr#id";for(let p of this.querySelectorAll(o)){let h;if(p.type==="category")h=p.name;else{let f=p.getValue();f&&f!==!0&&(h=`#${f}`)}if(h){let f=s.get(h);f?f.add(p):s.set(h,new Set([p]))}}for(let[p,h]of s)if(h.size>1&&!p.startsWith("#mw-customcollapsible-")){let f=!p.startsWith("#"),m=`duplicated ${f?"category":"id"}`,x=f?"error":"warning";n.push(...[...h].map(k=>{let S=I(k,{start:k.getAbsoluteIndex()},"no-duplicate",m,x);return f&&(S.suggestions=[{desc:"remove",range:[S.startIndex,S.endIndex],text:""}]),S}))}let l=/<!--\s*lint-(disable(?:(?:-next)?-line)?|enable)(\s[\sa-z,-]*)?-->/gu,g=this.toString(),u=[],d=l.exec(g);for(;d;){let{1:p,index:h}=d,f=(i=d[2])==null?void 0:i.trim();u.push({line:this.posFromIndex(h).top+(p==="disable-line"?0:1),from:p==="disable"?l.lastIndex:void 0,to:p==="enable"?l.lastIndex:void 0,rules:f?new Set(f.split(",").map(m=>m.trim())):void 0}),d=l.exec(g)}n=n.filter(({rule:p,startLine:h,startIndex:f})=>{let m={pos:0};for(let{line:x,from:k,to:S,rules:w}of u){if(x>h+1)break;if(w&&!w.has(p))continue;if(x===h&&k===void 0&&S===void 0)return!1;k<=f&&k>m.pos?(m.pos=k,m.type="from"):S<=f&&S>m.pos&&(m.pos=S,m.type="to")}return m.type!=="from"})}return n}toString(e,t){return e?super.toString(!0,t):we(c(this,Ar),()=>super.toString(!1,t),n=>{let i=this.getRootNode();i.type==="root"&&c(i,Jt)&&b(this,Ar,n)})}};vr=new WeakMap,Ae=new WeakMap,O=new WeakMap,U=new WeakMap,pt=new WeakMap,Jt=new WeakMap,Ar=new WeakMap,M=new WeakSet,mo=function(){let{parseRedirect:e}=(Bi(),Q(ji)),t=this.firstChild.toString(),n=e(t,c(this,O),c(this,U));return n&&this.setText(n),!!n},fo=function(e){let{parseCommentAndExt:t}=(ur(),Q(Is));this.setText(t(this.firstChild.toString(),c(this,O),c(this,U),e))},xo=function(){let{parseBraces:e}=(Ur(),Q(gs)),t=this.type==="root"?this.firstChild.toString():`\0${this.firstChild.toString()}`,n=e(t,c(this,O),c(this,U));this.setText(this.type==="root"?n:n.slice(1))},bo=function(){var t;if((t=c(this,O).excludes)!=null&&t.includes("html"))return;let{parseHtml:e}=(Rs(),Q(Fs));this.setText(e(this.firstChild.toString(),c(this,O),c(this,U)))},To=function(){var t;if((t=c(this,O).excludes)!=null&&t.includes("table"))return;let{parseTable:e}=(_s(),Q(qs));this.setText(e(this,c(this,O),c(this,U)))},yo=function(){var t;if((t=c(this,O).excludes)!=null&&t.includes("hr"))return;let{parseHrAndDoubleUnderscore:e}=(Us(),Q(Ws));this.setText(e(this,c(this,O),c(this,U)))},ko=function(e){let{parseLinks:t}=(Ks(),Q(Xs));this.setText(t(this.firstChild.toString(),c(this,O),c(this,U),e))},vo=function(e){var i;if((i=c(this,O).excludes)!=null&&i.includes("quote"))return;let{parseQuotes:t}=(ei(),Q(Gs)),n=this.firstChild.toString().split(`
|
|
31
|
-
`);for(let s=0;s<n.length;s++)n[s]=t(n[s],c(this,O),c(this,U),e);this.setText(n.join(`
|
|
32
|
-
`))},Ao=function(){var t;if((t=c(this,O).excludes)!=null&&t.includes("extLink"))return;let{parseExternalLinks:e}=(ri(),Q(Hs));this.setText(e(this.firstChild.toString(),c(this,O),c(this,U)))},So=function(){var t;if((t=c(this,O).excludes)!=null&&t.includes("magicLink"))return;let{parseMagicLinks:e}=(ro(),Q(to));this.setText(e(this.firstChild.toString(),c(this,O),c(this,U)))},wo=function(){var g;if((g=c(this,O).excludes)!=null&&g.includes("list"))return;let{parseList:e}=(ao(),Q(oo)),{firstChild:t,type:n,name:i}=this,s=t.toString().split(`
|
|
33
|
-
`),o={lastPrefix:""},l=n==="root"||n==="ext-inner"&&i==="poem"?0:1;for(;l<s.length;l++)s[l]=e(s[l],o,c(this,O),c(this,U));this.setText(s.join(`
|
|
34
|
-
`))},Co=function(){if(c(this,O).variants.length>0){let{parseConverter:e}=(ho(),Q(co));this.setText(e(this.firstChild.toString(),c(this,O),c(this,U)))}};v=ni});var Z,qt,yn,Fr,Te=y(()=>{"use strict";Z={running:!1,run(a){let{running:r}=this;this.running=!0;try{let{Token:e}=(P(),Q(Sr)),t=a();return t instanceof e&&!t.getAttribute("built")&&t.afterBuild(),this.running=r,t}catch(e){throw this.running=r,e}},rev:0},qt=a=>r=>r.type===a,yn=(a,r,e,t=[])=>{var s,o;let n=a.getChildNodes(),i=n.splice(r,e,...t);for(let l=0;l<t.length;l++){let g=t[l];g.setAttribute("parentNode",a),g.setAttribute("nextSibling",n[r+l+1]),g.setAttribute("previousSibling",n[r+l-1])}return(s=n[r-1])==null||s.setAttribute("nextSibling",n[r]),(o=n[r+t.length])==null||o.setAttribute("previousSibling",n[r+t.length-1]),i},Fr=(a,r)=>{Object.defineProperty(a,"name",{value:r.name})}});var $o={};le($o,{Title:()=>ii});var wr,Cr,ut,Yt,ct,ii,No=y(()=>{"use strict";X();ii=class{constructor(r,e,t,n,i,s){T(this,wr);T(this,Cr);T(this,ut);T(this,Yt);T(this,ct);ie(this,"valid");ie(this,"encoded",!1);let o=r.trim().startsWith("../");if(i&&r.includes("%"))try{let g=/%(?!21|3[ce]|5[bd]|7[b-d])[\da-f]{2}/iu.test(r);r=ze(r),this.encoded=g}catch(g){}if(r=Je(r).replace(/[_ ]+/gu," ").trim(),o)b(this,Yt,0);else{let g=e;r.startsWith(":")&&(g=0,r=r.slice(1).trim());let u=r.split(":");if(u.length>1){let d=u[0].trim().toLowerCase(),p=Object.prototype.hasOwnProperty.call(t.nsid,d)&&t.nsid[d];p&&(g=p,r=u.slice(1).join(":").trim())}b(this,Yt,g)}let l=r.indexOf("#");if(l!==-1){let g=r.slice(l).trim().slice(1);if(g.includes("%"))try{g=ze(g)}catch(u){}b(this,ct,g.replace(/ /gu,"_")),r=r.slice(0,l).trim()}this.valid=!!(r||s&&this.ns===0&&c(this,ct)!==void 0)&&Je(r)===r&&!/^:|\0\d+[eh!+-]\x7F|[<>[\]{}|\n]|%[\da-f]{2}|(?:^|\/)\.{1,2}(?:$|\/)/iu.test(o?/^(?:\.\.\/)+(.*)/u.exec(r)[1]:r),this.main=r,b(this,Cr,t.namespaces),b(this,ut,t.articlePath||"/wiki/$1"),c(this,ut).includes("$1")||b(this,ut,c(this,ut)+`${c(this,ut).endsWith("/")?"":"/"}$1`),n||Object.defineProperties(this,{encoded:{enumerable:!1,writable:!1}})}get ns(){return c(this,Yt)}get fragment(){return c(this,ct)}get main(){return c(this,wr)}set main(r){r=r.replace(/_/gu," ").trim(),b(this,wr,r&&r[0].toUpperCase()+r.slice(1))}get prefix(){let r=c(this,Cr)[this.ns];return r+(r&&":")}get title(){return this.getRedirection()[1]}get extension(){let{main:r}=this,e=r.lastIndexOf(".");return e===-1?void 0:r.slice(e+1).toLowerCase()}getRedirection(){return[!1,(this.prefix+this.main).replace(/ /gu,"_")]}setFragment(r){b(this,ct,r)}getUrl(r){}};wr=new WeakMap,Cr=new WeakMap,ut=new WeakMap,Yt=new WeakMap,ct=new WeakMap});var ht,Io,qa,A,q=y(()=>{bi();Te();Si();X();ht={config:cn,i18n:void 0,rules:xi,getConfig(){let{doubleUnderscore:a}=this.config;for(let r=0;r<2;r++)a.length>r+2&&a[r].length===0&&(a[r]=Object.keys(a[r+2]));return ae(Y(Y({},cn),this.config),{excludes:[]})},msg(a,r=""){var e,t;return a&&((t=(e=this.i18n)==null?void 0:e[a])!=null?t:a).replace("$1",this.msg(r))},normalizeTitle(a,r=0,e,t=ht.getConfig(),n=!1,i,s=!1,o=!1){let{Title:l}=(No(),Q($o)),g;if(i)g=new l(a,r,t,n,s,o);else{let{Token:u}=(P(),Q(Sr));g=Z.run(()=>{let d=new u(a,t);d.type="root",d.parseOnce(0,e).parseOnce();let p=new l(d.toString(),r,t,n,s,o);for(let h of["main","fragment"]){let f=p[h];if(f!=null&&f.includes("\0")){let m=d.buildFromStr(f,1);h==="main"?p.main=m:p.setFragment(m)}}return p})}return g},parse(a,r,e=11,t=ht.getConfig()){if(a=un(a),typeof e!="number"){let s=Array.isArray(e)?e:[e];e=Math.max(...s.map(o=>fi[o]||11))}let{Token:n}=(P(),Q(Sr));return Z.run(()=>{let s=new n(a,t);return s.type="root",s.parse(e,r)})},partialParse(n,i,s){return mi(this,arguments,function*(a,r,e,t=ht.getConfig()){let{Token:o}=(P(),Q(Sr)),l=typeof setImmediate=="function"?setImmediate:setTimeout,{running:g}=Z;Z.running=!0;let u=new o(un(a),t);u.type="root";let d=0;return yield new Promise(p=>{let h=()=>{r()===a?(d++,l(f,0)):p()},f=()=>{d===12?(u.afterBuild(),p()):(u[d===11?"build":"parseOnce"](d,e),h())};l(f,0)}),Z.running=g,u})},createLanguageService(a){}},Io={},qa=new Set(["normalizeTitle","parse","createLanguageService"]);for(let a in ht)qa.has(a)||(Io[a]={enumerable:!1});Object.defineProperties(ht,Io);Object.assign(typeof globalThis=="object"?globalThis:self,{Parser:ht});A=ht});q();})();
|