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.
@@ -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 (document_1.cssLSP && this.type === 'attr-value' && this.length === 1 && this.firstChild.type === 'text'
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.all([promises_1.default.unlink(oldFile), promises_1.default.unlink(newFile)]);
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
+ }
@@ -1,10 +1,10 @@
1
1
  (() => {
2
2
  var _a;
3
- const version = '1.17.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)
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.lsp.js');
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) {
@@ -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.17.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)
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.es7.js');
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.17.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.*.js",
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/[bt]*/"
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/bin/toc.js",
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/bin/declaration.js",
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/bin/parserTests.js",
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 && node dist/test/json.js",
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/bin/coverage.js && open coverage/index.html",
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.7.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-json-languageservice": "^5.4.3",
87
- "vscode-languageserver-textdocument": "^1.0.12"
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.12.0"
126
+ "node": ">=18.17.0"
118
127
  }
119
128
  }
@@ -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:"&lt;"}];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:"&#93;"}]}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,"&#124;")}],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">&lt;onlyinclude&gt;</span>',post:'<span class="wpb-ext">&lt;/onlyinclude&gt;</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:`&lt;${e}`,post:"/&gt;"}:{pre:`&lt;${e}`,sep:"&gt;",post:this.closed?`&lt;/${t}&gt;`:""})}};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]|&nbsp;|&#0*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:"&lt;!--",post:this.closed?"--&gt;":""})}};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:`&lt;${this.closing?"/":""}${c(this,Qe)}`,post:`${c(this,Ie)?"/":""}&gt;`})}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,"&#124;")}];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:"&apos;".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]|&nbsp;|&#0*160;|&#x0*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();})();