@thanhpv102/easy-email-core 4.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/blocks/advanced/blocks/index.d.ts +16 -0
- package/lib/blocks/advanced/generateAdvancedBlock.d.ts +60 -0
- package/lib/blocks/advanced/generateAdvancedContentBlock.d.ts +6 -0
- package/lib/blocks/advanced/generateAdvancedLayoutBlock.d.ts +7 -0
- package/lib/blocks/advanced/generateAdvancedTableBlock.d.ts +21 -0
- package/lib/blocks/advanced/index.d.ts +22 -0
- package/lib/blocks/index.d.ts +2 -0
- package/lib/blocks/standard/Accordion/index.d.ts +17 -0
- package/lib/blocks/standard/AccordionElement/index.d.ts +16 -0
- package/lib/blocks/standard/AccordionText/index.d.ts +12 -0
- package/lib/blocks/standard/AccordionTitle/index.d.ts +9 -0
- package/lib/blocks/standard/Button/index.d.ts +30 -0
- package/lib/blocks/standard/Carousel/index.d.ts +26 -0
- package/lib/blocks/standard/Column/index.d.ts +13 -0
- package/lib/blocks/standard/Divider/index.d.ts +11 -0
- package/lib/blocks/standard/Group/index.d.ts +8 -0
- package/lib/blocks/standard/Hero/index.d.ts +15 -0
- package/lib/blocks/standard/Image/index.d.ts +18 -0
- package/lib/blocks/standard/Navbar/index.d.ts +27 -0
- package/lib/blocks/standard/Page/index.d.ts +29 -0
- package/lib/blocks/standard/Raw/index.d.ts +5 -0
- package/lib/blocks/standard/Section/index.d.ts +19 -0
- package/lib/blocks/standard/Social/index.d.ts +47 -0
- package/lib/blocks/standard/Spacer/index.d.ts +7 -0
- package/lib/blocks/standard/Table/index.d.ts +5 -0
- package/lib/blocks/standard/Template/index.d.ts +5 -0
- package/lib/blocks/standard/Text/index.d.ts +20 -0
- package/lib/blocks/standard/Wrapper/index.d.ts +12 -0
- package/lib/blocks/standard/index.d.ts +45 -0
- package/lib/components/Accordion.d.ts +8 -0
- package/lib/components/AccordionElement.d.ts +8 -0
- package/lib/components/AccordionText.d.ts +8 -0
- package/lib/components/AccordionTitle.d.ts +8 -0
- package/lib/components/BasicBlock.d.ts +7 -0
- package/lib/components/BlockRenderer.d.ts +5 -0
- package/lib/components/Button.d.ts +8 -0
- package/lib/components/Carousel.d.ts +8 -0
- package/lib/components/Column.d.ts +8 -0
- package/lib/components/Divider.d.ts +8 -0
- package/lib/components/Group.d.ts +8 -0
- package/lib/components/Hero.d.ts +8 -0
- package/lib/components/Image.d.ts +8 -0
- package/lib/components/MjmlBlock.d.ts +10 -0
- package/lib/components/Navbar.d.ts +8 -0
- package/lib/components/Page.d.ts +8 -0
- package/lib/components/Raw.d.ts +8 -0
- package/lib/components/Section.d.ts +8 -0
- package/lib/components/Social.d.ts +8 -0
- package/lib/components/Spacer.d.ts +8 -0
- package/lib/components/Table.d.ts +8 -0
- package/lib/components/Template.d.ts +8 -0
- package/lib/components/Text.d.ts +8 -0
- package/lib/components/Wrapper.d.ts +8 -0
- package/lib/components/index.d.ts +23 -0
- package/lib/constants.d.ts +43 -0
- package/lib/index.cjs.js +113 -0
- package/lib/index.cjs.js.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.es.js +3685 -0
- package/lib/index.es.js.map +1 -0
- package/lib/typings/index.d.ts +41 -0
- package/lib/utils/BlockManager.d.ts +16 -0
- package/lib/utils/I18nManager.d.ts +7 -0
- package/lib/utils/ImageManager.d.ts +13 -0
- package/lib/utils/JsonToMjml.d.ts +12 -0
- package/lib/utils/TemplateEngineManager.d.ts +18 -0
- package/lib/utils/ancestorOf.d.ts +1 -0
- package/lib/utils/block.d.ts +34 -0
- package/lib/utils/classnames.d.ts +1 -0
- package/lib/utils/createBlock.d.ts +2 -0
- package/lib/utils/createBlockDataByType.d.ts +2 -0
- package/lib/utils/createCustomBlock.d.ts +2 -0
- package/lib/utils/generaMjmlMetaData.d.ts +2 -0
- package/lib/utils/getAdapterAttributesString.d.ts +2 -0
- package/lib/utils/getImg.d.ts +15 -0
- package/lib/utils/getPlaceholder.d.ts +2 -0
- package/lib/utils/getPreviewClassName.d.ts +1 -0
- package/lib/utils/index.d.ts +16 -0
- package/lib/utils/isAdvancedBlock.d.ts +1 -0
- package/lib/utils/isProductionMode.d.ts +24 -0
- package/lib/utils/isValidBlockData.d.ts +2 -0
- package/lib/utils/mergeBlock.d.ts +2 -0
- package/lib/utils/parseReactBlockToBlockData.d.ts +2 -0
- package/package.json +85 -0
- package/readme.md +426 -0
package/lib/index.es.js
ADDED
|
@@ -0,0 +1,3685 @@
|
|
|
1
|
+
var uu = Object.defineProperty, ru = Object.defineProperties;
|
|
2
|
+
var iu = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var ct = Object.getOwnPropertySymbols;
|
|
4
|
+
var au = Object.prototype.hasOwnProperty, su = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var Oe = (e, u, i) => u in e ? uu(e, u, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[u] = i, j = (e, u) => {
|
|
6
|
+
for (var i in u || (u = {}))
|
|
7
|
+
au.call(u, i) && Oe(e, i, u[i]);
|
|
8
|
+
if (ct)
|
|
9
|
+
for (var i of ct(u))
|
|
10
|
+
su.call(u, i) && Oe(e, i, u[i]);
|
|
11
|
+
return e;
|
|
12
|
+
}, $ = (e, u) => ru(e, iu(u));
|
|
13
|
+
var ee = (e, u, i) => Oe(e, typeof u != "symbol" ? u + "" : u, i);
|
|
14
|
+
import x, { useContext as nu, useMemo as ou } from "react";
|
|
15
|
+
import { omit as V, merge as z, isObject as lu, isString as tt, get as ae, mergeWith as cu, isArray as _u, set as pu, unescape as hu, isNumber as fu } from "lodash";
|
|
16
|
+
import { renderToStaticMarkup as It } from "react-dom/server";
|
|
17
|
+
import { v4 as du } from "uuid";
|
|
18
|
+
var p = /* @__PURE__ */ ((e) => (e.PAGE = "page", e.SECTION = "section", e.COLUMN = "column", e.GROUP = "group", e.TEXT = "text", e.IMAGE = "image", e.DIVIDER = "divider", e.SPACER = "spacer", e.BUTTON = "button", e.WRAPPER = "wrapper", e.RAW = "raw", e.ACCORDION = "accordion", e.ACCORDION_ELEMENT = "accordion-element", e.ACCORDION_TITLE = "accordion-title", e.ACCORDION_TEXT = "accordion-text", e.HERO = "hero", e.CAROUSEL = "carousel", e.NAVBAR = "navbar", e.SOCIAL = "social", e.TABLE = "table", e.TEMPLATE = "template", e))(p || {}), F = /* @__PURE__ */ ((e) => (e.TEXT = "advanced_text", e.IMAGE = "advanced_image", e.DIVIDER = "advanced_divider", e.SPACER = "advanced_spacer", e.BUTTON = "advanced_button", e.NAVBAR = "advanced_navbar", e.SOCIAL = "advanced_social", e.ACCORDION = "advanced_accordion", e.CAROUSEL = "advanced_carousel", e.TABLE = "advanced_table", e.WRAPPER = "advanced_wrapper", e.SECTION = "advanced_section", e.COLUMN = "advanced_column", e.GROUP = "advanced_group", e.HERO = "advanced_hero", e))(F || {});
|
|
19
|
+
const $r = "easy-email-merge-tag-container", gu = "email-block";
|
|
20
|
+
function mu(e) {
|
|
21
|
+
return e;
|
|
22
|
+
}
|
|
23
|
+
class we {
|
|
24
|
+
static add(u) {
|
|
25
|
+
Object.keys(u).forEach((i) => {
|
|
26
|
+
this.map[i] && (this.overrideMap[i] = !0), this.map[i] = u[i];
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static get(u) {
|
|
30
|
+
return this.map[u];
|
|
31
|
+
}
|
|
32
|
+
static getOverrideMap() {
|
|
33
|
+
return this.overrideMap;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
ee(we, "map", {}), ee(we, "overrideMap", {});
|
|
37
|
+
const Du = {
|
|
38
|
+
IMAGE_01: "https://easy-email-m-ryan.vercel.app/images/ffddc3db-3aae-4d73-ac9c-e1263641f7b4-03c89c34-49a4-4d45-b289-4d2261158cbe.png",
|
|
39
|
+
IMAGE_02: "https://easy-email-m-ryan.vercel.app/images/acbae5eb-efa4-4eb6-866c-f421e740b713-ad3c92b1-9cdb-4a7b-aad3-75ad809db8a3.png",
|
|
40
|
+
IMAGE_03: "https://easy-email-m-ryan.vercel.app/images/98520d6c-5cef-449e-bcbf-6316ccec2088-e8780361-0deb-4896-895e-e690c886cdf0.png",
|
|
41
|
+
IMAGE_04: "https://easy-email-m-ryan.vercel.app/images/b064f705-34ba-4400-975e-9dd0cec21c30-cc9aa158-56bd-4bf1-b532-72390d25c864.png",
|
|
42
|
+
IMAGE_59: "https://easy-email-m-ryan.vercel.app/images/8e0e07e2-3f84-4426-84c1-2add355c558b-image.png",
|
|
43
|
+
IMAGE_09: "https://easy-email-m-ryan.vercel.app/images/be34fb18-32ad-441c-84d8-3c0e9ba9f742-ad2ea5ff-5d0b-446b-bd7d-8e2ab5afdd16.png",
|
|
44
|
+
IMAGE_10: "https://easy-email-m-ryan.vercel.app/images/6a1e6292-469e-452a-bbae-44e4b5ff7463-05e543b6-c951-44ce-ae27-ca1282c77f52.png",
|
|
45
|
+
IMAGE_15: "https://easy-email-m-ryan.vercel.app/images/f69f48af-5b15-40aa-91c4-81d601d1357b-083dc99d-02a6-40d9-ae28-0662bd078b5d.png",
|
|
46
|
+
IMAGE_16: "https://easy-email-m-ryan.vercel.app/images/9cce6b16-5a98-4ddb-b1a1-6cec2cf56891-c3acb856-8ab8-4cfb-93f9-2a0747678b8b.png",
|
|
47
|
+
IMAGE_17: "https://easy-email-m-ryan.vercel.app/images/d9795c1d-fa32-4adb-ab25-30b7cfe87936-df21314f-6f05-4550-80b3-9ab1107e8fbe.png",
|
|
48
|
+
IMAGE_31: "https://easy-email-m-ryan.vercel.app/images/dd1584fb-cb60-42c9-80c7-5545e16130ca-226ba72b-ce9e-4948-ad0d-347381fb96c5.png"
|
|
49
|
+
};
|
|
50
|
+
we.add(Du);
|
|
51
|
+
function Q(e) {
|
|
52
|
+
return we.get(e);
|
|
53
|
+
}
|
|
54
|
+
function bu(e) {
|
|
55
|
+
const { data: { type: u }, mode: i } = e;
|
|
56
|
+
if (i === "production") return null;
|
|
57
|
+
let t = null;
|
|
58
|
+
return u === p.PAGE ? t = "Drop a Wrapper block here" : u === p.WRAPPER || u === F.WRAPPER ? t = "Drop a Section block here" : u === p.SECTION || u === p.GROUP || u === F.SECTION || u === F.GROUP ? t = "Drop a Column block here" : (u === p.COLUMN || u === F.COLUMN) && (t = "Drop a content block here"), t ? `
|
|
59
|
+
<mj-text color="#666">
|
|
60
|
+
<div style="text-align: center">
|
|
61
|
+
<div>
|
|
62
|
+
<svg width="300" fill="currentColor" style="max-width: 100%;" viewBox="-20 -5 80 60">
|
|
63
|
+
<g>
|
|
64
|
+
<path d="M23.713 23.475h5.907c.21 0 .38.17.38.38v.073c0 .21-.17.38-.38.38h-5.907a.38.38 0 0 1-.38-.38v-.073c0-.21.17-.38.38-.38zm.037-2.917h9.167a.417.417 0 0 1 0 .834H23.75a.417.417 0 0 1 0-.834zm0-2.5h9.167a.417.417 0 0 1 0 .834H23.75a.417.417 0 0 1 0-.834zm-.037-3.333h5.907c.21 0 .38.17.38.38v.073c0 .21-.17.38-.38.38h-5.907a.38.38 0 0 1-.38-.38v-.073c0-.21.17-.38.38-.38zm.037-2.917h9.167a.417.417 0 0 1 0 .834H23.75a.417.417 0 0 1 0-.834zm0-2.916h9.167a.417.417 0 0 1 0 .833H23.75a.417.417 0 0 1 0-.833zm-3.592 8.75a.675.675 0 0 1 .675.691v6.142c0 .374-.3.679-.675.683h-6.15a.683.683 0 0 1-.675-.683v-6.142a.675.675 0 0 1 .675-.691h6.15zM20 24.308v-5.833h-5.833v5.833H20zm.158-15.833a.675.675 0 0 1 .675.692v6.141c0 .374-.3.68-.675.684h-6.15a.683.683 0 0 1-.675-.684V9.167a.675.675 0 0 1 .675-.692h6.15zM20 15.142V9.308h-5.833v5.834H20zM37.167 0A2.809 2.809 0 0 1 40 2.833V30.5a2.809 2.809 0 0 1-2.833 2.833h-3.834v3H32.5v-3h-23A2.808 2.808 0 0 1 6.667 30.5v-23H3.583v-.833h3.084V2.833A2.808 2.808 0 0 1 9.5 0h27.667zm2 30.5V2.833a2.025 2.025 0 0 0-2-2H9.5a2.025 2.025 0 0 0-2 2V30.5a2.025 2.025 0 0 0 2 2h27.667a2.025 2.025 0 0 0 2-2zM0 27.75h.833V31H0v-3.25zm0-13h.833V18H0v-3.25zm0 22.833V34.25h.833v3.25L0 37.583zM0 21.25h.833v3.25H0v-3.25zM2.583 40l.084-.833h3.166V40h-3.25zm27.917-.833c.376.006.748-.08 1.083-.25l.417.666a2.875 2.875 0 0 1-1.5.417h-1.833v-.833H30.5zm-8.333 0h3.25V40h-3.25v-.833zm-6.584 0h3.25V40h-3.25v-.833zm-6.5 0h3.25V40h-3.25v-.833zM0 9.5c.01-.5.154-.99.417-1.417l.666.417c-.17.305-.256.65-.25 1v2H0v-2z"></path>
|
|
65
|
+
</g>
|
|
66
|
+
<text x="-16" y="50" font-size="5px">${t}</text>
|
|
67
|
+
</svg>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</mj-text>
|
|
71
|
+
` : null;
|
|
72
|
+
}
|
|
73
|
+
var _t = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : {}, ke = { exports: {} }, ne = {}, Ae = { exports: {} }, Re = {}, qe = {}, pt;
|
|
74
|
+
function ut() {
|
|
75
|
+
if (pt) return qe;
|
|
76
|
+
pt = 1;
|
|
77
|
+
function e(t) {
|
|
78
|
+
this.__parent = t, this.__character_count = 0, this.__indent_count = -1, this.__alignment_count = 0, this.__wrap_point_index = 0, this.__wrap_point_character_count = 0, this.__wrap_point_indent_count = -1, this.__wrap_point_alignment_count = 0, this.__items = [];
|
|
79
|
+
}
|
|
80
|
+
e.prototype.clone_empty = function() {
|
|
81
|
+
var t = new e(this.__parent);
|
|
82
|
+
return t.set_indent(this.__indent_count, this.__alignment_count), t;
|
|
83
|
+
}, e.prototype.item = function(t) {
|
|
84
|
+
return t < 0 ? this.__items[this.__items.length + t] : this.__items[t];
|
|
85
|
+
}, e.prototype.has_match = function(t) {
|
|
86
|
+
for (var a = this.__items.length - 1; a >= 0; a--)
|
|
87
|
+
if (this.__items[a].match(t))
|
|
88
|
+
return !0;
|
|
89
|
+
return !1;
|
|
90
|
+
}, e.prototype.set_indent = function(t, a) {
|
|
91
|
+
this.is_empty() && (this.__indent_count = t || 0, this.__alignment_count = a || 0, this.__character_count = this.__parent.get_indent_size(this.__indent_count, this.__alignment_count));
|
|
92
|
+
}, e.prototype._set_wrap_point = function() {
|
|
93
|
+
this.__parent.wrap_line_length && (this.__wrap_point_index = this.__items.length, this.__wrap_point_character_count = this.__character_count, this.__wrap_point_indent_count = this.__parent.next_line.__indent_count, this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count);
|
|
94
|
+
}, e.prototype._should_wrap = function() {
|
|
95
|
+
return this.__wrap_point_index && this.__character_count > this.__parent.wrap_line_length && this.__wrap_point_character_count > this.__parent.next_line.__character_count;
|
|
96
|
+
}, e.prototype._allow_wrap = function() {
|
|
97
|
+
if (this._should_wrap()) {
|
|
98
|
+
this.__parent.add_new_line();
|
|
99
|
+
var t = this.__parent.current_line;
|
|
100
|
+
return t.set_indent(this.__wrap_point_indent_count, this.__wrap_point_alignment_count), t.__items = this.__items.slice(this.__wrap_point_index), this.__items = this.__items.slice(0, this.__wrap_point_index), t.__character_count += this.__character_count - this.__wrap_point_character_count, this.__character_count = this.__wrap_point_character_count, t.__items[0] === " " && (t.__items.splice(0, 1), t.__character_count -= 1), !0;
|
|
101
|
+
}
|
|
102
|
+
return !1;
|
|
103
|
+
}, e.prototype.is_empty = function() {
|
|
104
|
+
return this.__items.length === 0;
|
|
105
|
+
}, e.prototype.last = function() {
|
|
106
|
+
return this.is_empty() ? null : this.__items[this.__items.length - 1];
|
|
107
|
+
}, e.prototype.push = function(t) {
|
|
108
|
+
this.__items.push(t);
|
|
109
|
+
var a = t.lastIndexOf(`
|
|
110
|
+
`);
|
|
111
|
+
a !== -1 ? this.__character_count = t.length - a : this.__character_count += t.length;
|
|
112
|
+
}, e.prototype.pop = function() {
|
|
113
|
+
var t = null;
|
|
114
|
+
return this.is_empty() || (t = this.__items.pop(), this.__character_count -= t.length), t;
|
|
115
|
+
}, e.prototype._remove_indent = function() {
|
|
116
|
+
this.__indent_count > 0 && (this.__indent_count -= 1, this.__character_count -= this.__parent.indent_size);
|
|
117
|
+
}, e.prototype._remove_wrap_indent = function() {
|
|
118
|
+
this.__wrap_point_indent_count > 0 && (this.__wrap_point_indent_count -= 1);
|
|
119
|
+
}, e.prototype.trim = function() {
|
|
120
|
+
for (; this.last() === " "; )
|
|
121
|
+
this.__items.pop(), this.__character_count -= 1;
|
|
122
|
+
}, e.prototype.toString = function() {
|
|
123
|
+
var t = "";
|
|
124
|
+
return this.is_empty() ? this.__parent.indent_empty_lines && (t = this.__parent.get_indent_string(this.__indent_count)) : (t = this.__parent.get_indent_string(this.__indent_count, this.__alignment_count), t += this.__items.join("")), t;
|
|
125
|
+
};
|
|
126
|
+
function u(t, a) {
|
|
127
|
+
this.__cache = [""], this.__indent_size = t.indent_size, this.__indent_string = t.indent_char, t.indent_with_tabs || (this.__indent_string = new Array(t.indent_size + 1).join(t.indent_char)), a = a || "", t.indent_level > 0 && (a = new Array(t.indent_level + 1).join(this.__indent_string)), this.__base_string = a, this.__base_string_length = a.length;
|
|
128
|
+
}
|
|
129
|
+
u.prototype.get_indent_size = function(t, a) {
|
|
130
|
+
var n = this.__base_string_length;
|
|
131
|
+
return a = a || 0, t < 0 && (n = 0), n += t * this.__indent_size, n += a, n;
|
|
132
|
+
}, u.prototype.get_indent_string = function(t, a) {
|
|
133
|
+
var n = this.__base_string;
|
|
134
|
+
return a = a || 0, t < 0 && (t = 0, n = ""), a += t * this.__indent_size, this.__ensure_cache(a), n += this.__cache[a], n;
|
|
135
|
+
}, u.prototype.__ensure_cache = function(t) {
|
|
136
|
+
for (; t >= this.__cache.length; )
|
|
137
|
+
this.__add_column();
|
|
138
|
+
}, u.prototype.__add_column = function() {
|
|
139
|
+
var t = this.__cache.length, a = 0, n = "";
|
|
140
|
+
this.__indent_size && t >= this.__indent_size && (a = Math.floor(t / this.__indent_size), t -= a * this.__indent_size, n = new Array(a + 1).join(this.__indent_string)), t && (n += new Array(t + 1).join(" ")), this.__cache.push(n);
|
|
141
|
+
};
|
|
142
|
+
function i(t, a) {
|
|
143
|
+
this.__indent_cache = new u(t, a), this.raw = !1, this._end_with_newline = t.end_with_newline, this.indent_size = t.indent_size, this.wrap_line_length = t.wrap_line_length, this.indent_empty_lines = t.indent_empty_lines, this.__lines = [], this.previous_line = null, this.current_line = null, this.next_line = new e(this), this.space_before_token = !1, this.non_breaking_space = !1, this.previous_token_wrapped = !1, this.__add_outputline();
|
|
144
|
+
}
|
|
145
|
+
return i.prototype.__add_outputline = function() {
|
|
146
|
+
this.previous_line = this.current_line, this.current_line = this.next_line.clone_empty(), this.__lines.push(this.current_line);
|
|
147
|
+
}, i.prototype.get_line_number = function() {
|
|
148
|
+
return this.__lines.length;
|
|
149
|
+
}, i.prototype.get_indent_string = function(t, a) {
|
|
150
|
+
return this.__indent_cache.get_indent_string(t, a);
|
|
151
|
+
}, i.prototype.get_indent_size = function(t, a) {
|
|
152
|
+
return this.__indent_cache.get_indent_size(t, a);
|
|
153
|
+
}, i.prototype.is_empty = function() {
|
|
154
|
+
return !this.previous_line && this.current_line.is_empty();
|
|
155
|
+
}, i.prototype.add_new_line = function(t) {
|
|
156
|
+
return this.is_empty() || !t && this.just_added_newline() ? !1 : (this.raw || this.__add_outputline(), !0);
|
|
157
|
+
}, i.prototype.get_code = function(t) {
|
|
158
|
+
this.trim(!0);
|
|
159
|
+
var a = this.current_line.pop();
|
|
160
|
+
a && (a[a.length - 1] === `
|
|
161
|
+
` && (a = a.replace(/\n+$/g, "")), this.current_line.push(a)), this._end_with_newline && this.__add_outputline();
|
|
162
|
+
var n = this.__lines.join(`
|
|
163
|
+
`);
|
|
164
|
+
return t !== `
|
|
165
|
+
` && (n = n.replace(/[\n]/g, t)), n;
|
|
166
|
+
}, i.prototype.set_wrap_point = function() {
|
|
167
|
+
this.current_line._set_wrap_point();
|
|
168
|
+
}, i.prototype.set_indent = function(t, a) {
|
|
169
|
+
return t = t || 0, a = a || 0, this.next_line.set_indent(t, a), this.__lines.length > 1 ? (this.current_line.set_indent(t, a), !0) : (this.current_line.set_indent(), !1);
|
|
170
|
+
}, i.prototype.add_raw_token = function(t) {
|
|
171
|
+
for (var a = 0; a < t.newlines; a++)
|
|
172
|
+
this.__add_outputline();
|
|
173
|
+
this.current_line.set_indent(-1), this.current_line.push(t.whitespace_before), this.current_line.push(t.text), this.space_before_token = !1, this.non_breaking_space = !1, this.previous_token_wrapped = !1;
|
|
174
|
+
}, i.prototype.add_token = function(t) {
|
|
175
|
+
this.__add_space_before_token(), this.current_line.push(t), this.space_before_token = !1, this.non_breaking_space = !1, this.previous_token_wrapped = this.current_line._allow_wrap();
|
|
176
|
+
}, i.prototype.__add_space_before_token = function() {
|
|
177
|
+
this.space_before_token && !this.just_added_newline() && (this.non_breaking_space || this.set_wrap_point(), this.current_line.push(" "));
|
|
178
|
+
}, i.prototype.remove_indent = function(t) {
|
|
179
|
+
for (var a = this.__lines.length; t < a; )
|
|
180
|
+
this.__lines[t]._remove_indent(), t++;
|
|
181
|
+
this.current_line._remove_wrap_indent();
|
|
182
|
+
}, i.prototype.trim = function(t) {
|
|
183
|
+
for (t = t === void 0 ? !1 : t, this.current_line.trim(); t && this.__lines.length > 1 && this.current_line.is_empty(); )
|
|
184
|
+
this.__lines.pop(), this.current_line = this.__lines[this.__lines.length - 1], this.current_line.trim();
|
|
185
|
+
this.previous_line = this.__lines.length > 1 ? this.__lines[this.__lines.length - 2] : null;
|
|
186
|
+
}, i.prototype.just_added_newline = function() {
|
|
187
|
+
return this.current_line.is_empty();
|
|
188
|
+
}, i.prototype.just_added_blankline = function() {
|
|
189
|
+
return this.is_empty() || this.current_line.is_empty() && this.previous_line.is_empty();
|
|
190
|
+
}, i.prototype.ensure_empty_line_above = function(t, a) {
|
|
191
|
+
for (var n = this.__lines.length - 2; n >= 0; ) {
|
|
192
|
+
var c = this.__lines[n];
|
|
193
|
+
if (c.is_empty())
|
|
194
|
+
break;
|
|
195
|
+
if (c.item(0).indexOf(t) !== 0 && c.item(-1) !== a) {
|
|
196
|
+
this.__lines.splice(n + 1, 0, new e(this)), this.previous_line = this.__lines[this.__lines.length - 2];
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
n--;
|
|
200
|
+
}
|
|
201
|
+
}, qe.Output = i, qe;
|
|
202
|
+
}
|
|
203
|
+
var Se = {}, ht;
|
|
204
|
+
function Ut() {
|
|
205
|
+
if (ht) return Se;
|
|
206
|
+
ht = 1;
|
|
207
|
+
function e(u, i, t, a) {
|
|
208
|
+
this.type = u, this.text = i, this.comments_before = null, this.newlines = t || 0, this.whitespace_before = a || "", this.parent = null, this.next = null, this.previous = null, this.opened = null, this.closed = null, this.directives = null;
|
|
209
|
+
}
|
|
210
|
+
return Se.Token = e, Se;
|
|
211
|
+
}
|
|
212
|
+
var Le = {}, ft;
|
|
213
|
+
function jt() {
|
|
214
|
+
return ft || (ft = 1, (function(e) {
|
|
215
|
+
var u = "\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a", i = "\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a", t = "\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc", a = "\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f", n = "\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}", c = "(?:" + n + "|[" + u + t + "])", o = "(?:" + n + "|[" + i + t + a + "])*";
|
|
216
|
+
e.identifier = new RegExp(c + o, "g"), e.identifierStart = new RegExp(c), e.identifierMatch = new RegExp("(?:" + n + "|[" + i + t + a + "])+"), e.newline = /[\n\r\u2028\u2029]/, e.lineBreak = new RegExp(`\r
|
|
217
|
+
|` + e.newline.source), e.allLineBreaks = new RegExp(e.lineBreak.source, "g");
|
|
218
|
+
})(Le)), Le;
|
|
219
|
+
}
|
|
220
|
+
var Ne = {}, oe = {}, dt;
|
|
221
|
+
function rt() {
|
|
222
|
+
if (dt) return oe;
|
|
223
|
+
dt = 1;
|
|
224
|
+
function e(t, a) {
|
|
225
|
+
this.raw_options = u(t, a), this.disabled = this._get_boolean("disabled"), this.eol = this._get_characters("eol", "auto"), this.end_with_newline = this._get_boolean("end_with_newline"), this.indent_size = this._get_number("indent_size", 4), this.indent_char = this._get_characters("indent_char", " "), this.indent_level = this._get_number("indent_level"), this.preserve_newlines = this._get_boolean("preserve_newlines", !0), this.max_preserve_newlines = this._get_number("max_preserve_newlines", 32786), this.preserve_newlines || (this.max_preserve_newlines = 0), this.indent_with_tabs = this._get_boolean("indent_with_tabs", this.indent_char === " "), this.indent_with_tabs && (this.indent_char = " ", this.indent_size === 1 && (this.indent_size = 4)), this.wrap_line_length = this._get_number("wrap_line_length", this._get_number("max_char")), this.indent_empty_lines = this._get_boolean("indent_empty_lines"), this.templating = this._get_selection_list("templating", ["auto", "none", "angular", "django", "erb", "handlebars", "php", "smarty"], ["auto"]);
|
|
226
|
+
}
|
|
227
|
+
e.prototype._get_array = function(t, a) {
|
|
228
|
+
var n = this.raw_options[t], c = a || [];
|
|
229
|
+
return typeof n == "object" ? n !== null && typeof n.concat == "function" && (c = n.concat()) : typeof n == "string" && (c = n.split(/[^a-zA-Z0-9_\/\-]+/)), c;
|
|
230
|
+
}, e.prototype._get_boolean = function(t, a) {
|
|
231
|
+
var n = this.raw_options[t], c = n === void 0 ? !!a : !!n;
|
|
232
|
+
return c;
|
|
233
|
+
}, e.prototype._get_characters = function(t, a) {
|
|
234
|
+
var n = this.raw_options[t], c = a || "";
|
|
235
|
+
return typeof n == "string" && (c = n.replace(/\\r/, "\r").replace(/\\n/, `
|
|
236
|
+
`).replace(/\\t/, " ")), c;
|
|
237
|
+
}, e.prototype._get_number = function(t, a) {
|
|
238
|
+
var n = this.raw_options[t];
|
|
239
|
+
a = parseInt(a, 10), isNaN(a) && (a = 0);
|
|
240
|
+
var c = parseInt(n, 10);
|
|
241
|
+
return isNaN(c) && (c = a), c;
|
|
242
|
+
}, e.prototype._get_selection = function(t, a, n) {
|
|
243
|
+
var c = this._get_selection_list(t, a, n);
|
|
244
|
+
if (c.length !== 1)
|
|
245
|
+
throw new Error(
|
|
246
|
+
"Invalid Option Value: The option '" + t + `' can only be one of the following values:
|
|
247
|
+
` + a + `
|
|
248
|
+
You passed in: '` + this.raw_options[t] + "'"
|
|
249
|
+
);
|
|
250
|
+
return c[0];
|
|
251
|
+
}, e.prototype._get_selection_list = function(t, a, n) {
|
|
252
|
+
if (!a || a.length === 0)
|
|
253
|
+
throw new Error("Selection list cannot be empty.");
|
|
254
|
+
if (n = n || [a[0]], !this._is_valid_selection(n, a))
|
|
255
|
+
throw new Error("Invalid Default Value!");
|
|
256
|
+
var c = this._get_array(t, n);
|
|
257
|
+
if (!this._is_valid_selection(c, a))
|
|
258
|
+
throw new Error(
|
|
259
|
+
"Invalid Option Value: The option '" + t + `' can contain only the following values:
|
|
260
|
+
` + a + `
|
|
261
|
+
You passed in: '` + this.raw_options[t] + "'"
|
|
262
|
+
);
|
|
263
|
+
return c;
|
|
264
|
+
}, e.prototype._is_valid_selection = function(t, a) {
|
|
265
|
+
return t.length && a.length && !t.some(function(n) {
|
|
266
|
+
return a.indexOf(n) === -1;
|
|
267
|
+
});
|
|
268
|
+
};
|
|
269
|
+
function u(t, a) {
|
|
270
|
+
var n = {};
|
|
271
|
+
t = i(t);
|
|
272
|
+
var c;
|
|
273
|
+
for (c in t)
|
|
274
|
+
c !== a && (n[c] = t[c]);
|
|
275
|
+
if (a && t[a])
|
|
276
|
+
for (c in t[a])
|
|
277
|
+
n[c] = t[a][c];
|
|
278
|
+
return n;
|
|
279
|
+
}
|
|
280
|
+
function i(t) {
|
|
281
|
+
var a = {}, n;
|
|
282
|
+
for (n in t) {
|
|
283
|
+
var c = n.replace(/-/g, "_");
|
|
284
|
+
a[c] = t[n];
|
|
285
|
+
}
|
|
286
|
+
return a;
|
|
287
|
+
}
|
|
288
|
+
return oe.Options = e, oe.normalizeOpts = i, oe.mergeOpts = u, oe;
|
|
289
|
+
}
|
|
290
|
+
var gt;
|
|
291
|
+
function Vt() {
|
|
292
|
+
if (gt) return Ne;
|
|
293
|
+
gt = 1;
|
|
294
|
+
var e = rt().Options, u = ["before-newline", "after-newline", "preserve-newline"];
|
|
295
|
+
function i(t) {
|
|
296
|
+
e.call(this, t, "js");
|
|
297
|
+
var a = this.raw_options.brace_style || null;
|
|
298
|
+
a === "expand-strict" ? this.raw_options.brace_style = "expand" : a === "collapse-preserve-inline" ? this.raw_options.brace_style = "collapse,preserve-inline" : this.raw_options.braces_on_own_line !== void 0 && (this.raw_options.brace_style = this.raw_options.braces_on_own_line ? "expand" : "collapse");
|
|
299
|
+
var n = this._get_selection_list("brace_style", ["collapse", "expand", "end-expand", "none", "preserve-inline"]);
|
|
300
|
+
this.brace_preserve_inline = !1, this.brace_style = "collapse";
|
|
301
|
+
for (var c = 0; c < n.length; c++)
|
|
302
|
+
n[c] === "preserve-inline" ? this.brace_preserve_inline = !0 : this.brace_style = n[c];
|
|
303
|
+
this.unindent_chained_methods = this._get_boolean("unindent_chained_methods"), this.break_chained_methods = this._get_boolean("break_chained_methods"), this.space_in_paren = this._get_boolean("space_in_paren"), this.space_in_empty_paren = this._get_boolean("space_in_empty_paren"), this.jslint_happy = this._get_boolean("jslint_happy"), this.space_after_anon_function = this._get_boolean("space_after_anon_function"), this.space_after_named_function = this._get_boolean("space_after_named_function"), this.keep_array_indentation = this._get_boolean("keep_array_indentation"), this.space_before_conditional = this._get_boolean("space_before_conditional", !0), this.unescape_strings = this._get_boolean("unescape_strings"), this.e4x = this._get_boolean("e4x"), this.comma_first = this._get_boolean("comma_first"), this.operator_position = this._get_selection("operator_position", u), this.test_output_raw = this._get_boolean("test_output_raw"), this.jslint_happy && (this.space_after_anon_function = !0);
|
|
304
|
+
}
|
|
305
|
+
return i.prototype = new e(), Ne.Options = i, Ne;
|
|
306
|
+
}
|
|
307
|
+
var re = {}, Pe = {}, mt;
|
|
308
|
+
function it() {
|
|
309
|
+
if (mt) return Pe;
|
|
310
|
+
mt = 1;
|
|
311
|
+
var e = RegExp.prototype.hasOwnProperty("sticky");
|
|
312
|
+
function u(i) {
|
|
313
|
+
this.__input = i || "", this.__input_length = this.__input.length, this.__position = 0;
|
|
314
|
+
}
|
|
315
|
+
return u.prototype.restart = function() {
|
|
316
|
+
this.__position = 0;
|
|
317
|
+
}, u.prototype.back = function() {
|
|
318
|
+
this.__position > 0 && (this.__position -= 1);
|
|
319
|
+
}, u.prototype.hasNext = function() {
|
|
320
|
+
return this.__position < this.__input_length;
|
|
321
|
+
}, u.prototype.next = function() {
|
|
322
|
+
var i = null;
|
|
323
|
+
return this.hasNext() && (i = this.__input.charAt(this.__position), this.__position += 1), i;
|
|
324
|
+
}, u.prototype.peek = function(i) {
|
|
325
|
+
var t = null;
|
|
326
|
+
return i = i || 0, i += this.__position, i >= 0 && i < this.__input_length && (t = this.__input.charAt(i)), t;
|
|
327
|
+
}, u.prototype.__match = function(i, t) {
|
|
328
|
+
i.lastIndex = t;
|
|
329
|
+
var a = i.exec(this.__input);
|
|
330
|
+
return a && !(e && i.sticky) && a.index !== t && (a = null), a;
|
|
331
|
+
}, u.prototype.test = function(i, t) {
|
|
332
|
+
return t = t || 0, t += this.__position, t >= 0 && t < this.__input_length ? !!this.__match(i, t) : !1;
|
|
333
|
+
}, u.prototype.testChar = function(i, t) {
|
|
334
|
+
var a = this.peek(t);
|
|
335
|
+
return i.lastIndex = 0, a !== null && i.test(a);
|
|
336
|
+
}, u.prototype.match = function(i) {
|
|
337
|
+
var t = this.__match(i, this.__position);
|
|
338
|
+
return t ? this.__position += t[0].length : t = null, t;
|
|
339
|
+
}, u.prototype.read = function(i, t, a) {
|
|
340
|
+
var n = "", c;
|
|
341
|
+
return i && (c = this.match(i), c && (n += c[0])), t && (c || !i) && (n += this.readUntil(t, a)), n;
|
|
342
|
+
}, u.prototype.readUntil = function(i, t) {
|
|
343
|
+
var a = "", n = this.__position;
|
|
344
|
+
i.lastIndex = this.__position;
|
|
345
|
+
var c = i.exec(this.__input);
|
|
346
|
+
return c ? (n = c.index, t && (n += c[0].length)) : n = this.__input_length, a = this.__input.substring(this.__position, n), this.__position = n, a;
|
|
347
|
+
}, u.prototype.readUntilAfter = function(i) {
|
|
348
|
+
return this.readUntil(i, !0);
|
|
349
|
+
}, u.prototype.get_regexp = function(i, t) {
|
|
350
|
+
var a = null, n = "g";
|
|
351
|
+
return t && e && (n = "y"), typeof i == "string" && i !== "" ? a = new RegExp(i, n) : i && (a = new RegExp(i.source, n)), a;
|
|
352
|
+
}, u.prototype.get_literal_regexp = function(i) {
|
|
353
|
+
return RegExp(i.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"));
|
|
354
|
+
}, u.prototype.peekUntilAfter = function(i) {
|
|
355
|
+
var t = this.__position, a = this.readUntilAfter(i);
|
|
356
|
+
return this.__position = t, a;
|
|
357
|
+
}, u.prototype.lookBack = function(i) {
|
|
358
|
+
var t = this.__position - 1;
|
|
359
|
+
return t >= i.length && this.__input.substring(t - i.length, t).toLowerCase() === i;
|
|
360
|
+
}, Pe.InputScanner = u, Pe;
|
|
361
|
+
}
|
|
362
|
+
var ve = {}, Ie = {}, Dt;
|
|
363
|
+
function Au() {
|
|
364
|
+
if (Dt) return Ie;
|
|
365
|
+
Dt = 1;
|
|
366
|
+
function e(u) {
|
|
367
|
+
this.__tokens = [], this.__tokens_length = this.__tokens.length, this.__position = 0, this.__parent_token = u;
|
|
368
|
+
}
|
|
369
|
+
return e.prototype.restart = function() {
|
|
370
|
+
this.__position = 0;
|
|
371
|
+
}, e.prototype.isEmpty = function() {
|
|
372
|
+
return this.__tokens_length === 0;
|
|
373
|
+
}, e.prototype.hasNext = function() {
|
|
374
|
+
return this.__position < this.__tokens_length;
|
|
375
|
+
}, e.prototype.next = function() {
|
|
376
|
+
var u = null;
|
|
377
|
+
return this.hasNext() && (u = this.__tokens[this.__position], this.__position += 1), u;
|
|
378
|
+
}, e.prototype.peek = function(u) {
|
|
379
|
+
var i = null;
|
|
380
|
+
return u = u || 0, u += this.__position, u >= 0 && u < this.__tokens_length && (i = this.__tokens[u]), i;
|
|
381
|
+
}, e.prototype.add = function(u) {
|
|
382
|
+
this.__parent_token && (u.parent = this.__parent_token), this.__tokens.push(u), this.__tokens_length += 1;
|
|
383
|
+
}, Ie.TokenStream = e, Ie;
|
|
384
|
+
}
|
|
385
|
+
var Ue = {}, je = {}, bt;
|
|
386
|
+
function Te() {
|
|
387
|
+
if (bt) return je;
|
|
388
|
+
bt = 1;
|
|
389
|
+
function e(u, i) {
|
|
390
|
+
this._input = u, this._starting_pattern = null, this._match_pattern = null, this._until_pattern = null, this._until_after = !1, i && (this._starting_pattern = this._input.get_regexp(i._starting_pattern, !0), this._match_pattern = this._input.get_regexp(i._match_pattern, !0), this._until_pattern = this._input.get_regexp(i._until_pattern), this._until_after = i._until_after);
|
|
391
|
+
}
|
|
392
|
+
return e.prototype.read = function() {
|
|
393
|
+
var u = this._input.read(this._starting_pattern);
|
|
394
|
+
return (!this._starting_pattern || u) && (u += this._input.read(this._match_pattern, this._until_pattern, this._until_after)), u;
|
|
395
|
+
}, e.prototype.read_match = function() {
|
|
396
|
+
return this._input.match(this._match_pattern);
|
|
397
|
+
}, e.prototype.until_after = function(u) {
|
|
398
|
+
var i = this._create();
|
|
399
|
+
return i._until_after = !0, i._until_pattern = this._input.get_regexp(u), i._update(), i;
|
|
400
|
+
}, e.prototype.until = function(u) {
|
|
401
|
+
var i = this._create();
|
|
402
|
+
return i._until_after = !1, i._until_pattern = this._input.get_regexp(u), i._update(), i;
|
|
403
|
+
}, e.prototype.starting_with = function(u) {
|
|
404
|
+
var i = this._create();
|
|
405
|
+
return i._starting_pattern = this._input.get_regexp(u, !0), i._update(), i;
|
|
406
|
+
}, e.prototype.matching = function(u) {
|
|
407
|
+
var i = this._create();
|
|
408
|
+
return i._match_pattern = this._input.get_regexp(u, !0), i._update(), i;
|
|
409
|
+
}, e.prototype._create = function() {
|
|
410
|
+
return new e(this._input, this);
|
|
411
|
+
}, e.prototype._update = function() {
|
|
412
|
+
}, je.Pattern = e, je;
|
|
413
|
+
}
|
|
414
|
+
var At;
|
|
415
|
+
function vu() {
|
|
416
|
+
if (At) return Ue;
|
|
417
|
+
At = 1;
|
|
418
|
+
var e = Te().Pattern;
|
|
419
|
+
function u(i, t) {
|
|
420
|
+
e.call(this, i, t), t ? this._line_regexp = this._input.get_regexp(t._line_regexp) : this.__set_whitespace_patterns("", ""), this.newline_count = 0, this.whitespace_before_token = "";
|
|
421
|
+
}
|
|
422
|
+
return u.prototype = new e(), u.prototype.__set_whitespace_patterns = function(i, t) {
|
|
423
|
+
i += "\\t ", t += "\\n\\r", this._match_pattern = this._input.get_regexp(
|
|
424
|
+
"[" + i + t + "]+",
|
|
425
|
+
!0
|
|
426
|
+
), this._newline_regexp = this._input.get_regexp(
|
|
427
|
+
"\\r\\n|[" + t + "]"
|
|
428
|
+
);
|
|
429
|
+
}, u.prototype.read = function() {
|
|
430
|
+
this.newline_count = 0, this.whitespace_before_token = "";
|
|
431
|
+
var i = this._input.read(this._match_pattern);
|
|
432
|
+
if (i === " ")
|
|
433
|
+
this.whitespace_before_token = " ";
|
|
434
|
+
else if (i) {
|
|
435
|
+
var t = this.__split(this._newline_regexp, i);
|
|
436
|
+
this.newline_count = t.length - 1, this.whitespace_before_token = t[this.newline_count];
|
|
437
|
+
}
|
|
438
|
+
return i;
|
|
439
|
+
}, u.prototype.matching = function(i, t) {
|
|
440
|
+
var a = this._create();
|
|
441
|
+
return a.__set_whitespace_patterns(i, t), a._update(), a;
|
|
442
|
+
}, u.prototype._create = function() {
|
|
443
|
+
return new u(this._input, this);
|
|
444
|
+
}, u.prototype.__split = function(i, t) {
|
|
445
|
+
i.lastIndex = 0;
|
|
446
|
+
for (var a = 0, n = [], c = i.exec(t); c; )
|
|
447
|
+
n.push(t.substring(a, c.index)), a = c.index + c[0].length, c = i.exec(t);
|
|
448
|
+
return a < t.length ? n.push(t.substring(a, t.length)) : n.push(""), n;
|
|
449
|
+
}, Ue.WhitespacePattern = u, Ue;
|
|
450
|
+
}
|
|
451
|
+
var vt;
|
|
452
|
+
function Be() {
|
|
453
|
+
if (vt) return ve;
|
|
454
|
+
vt = 1;
|
|
455
|
+
var e = it().InputScanner, u = Ut().Token, i = Au().TokenStream, t = vu().WhitespacePattern, a = {
|
|
456
|
+
START: "TK_START",
|
|
457
|
+
RAW: "TK_RAW",
|
|
458
|
+
EOF: "TK_EOF"
|
|
459
|
+
}, n = function(c, o) {
|
|
460
|
+
this._input = new e(c), this._options = o || {}, this.__tokens = null, this._patterns = {}, this._patterns.whitespace = new t(this._input);
|
|
461
|
+
};
|
|
462
|
+
return n.prototype.tokenize = function() {
|
|
463
|
+
this._input.restart(), this.__tokens = new i(), this._reset();
|
|
464
|
+
for (var c, o = new u(a.START, ""), l = null, b = [], d = new i(); o.type !== a.EOF; ) {
|
|
465
|
+
for (c = this._get_next_token(o, l); this._is_comment(c); )
|
|
466
|
+
d.add(c), c = this._get_next_token(o, l);
|
|
467
|
+
d.isEmpty() || (c.comments_before = d, d = new i()), c.parent = l, this._is_opening(c) ? (b.push(l), l = c) : l && this._is_closing(c, l) && (c.opened = l, l.closed = c, l = b.pop(), c.parent = l), c.previous = o, o.next = c, this.__tokens.add(c), o = c;
|
|
468
|
+
}
|
|
469
|
+
return this.__tokens;
|
|
470
|
+
}, n.prototype._is_first_token = function() {
|
|
471
|
+
return this.__tokens.isEmpty();
|
|
472
|
+
}, n.prototype._reset = function() {
|
|
473
|
+
}, n.prototype._get_next_token = function(c, o) {
|
|
474
|
+
this._readWhitespace();
|
|
475
|
+
var l = this._input.read(/.+/g);
|
|
476
|
+
return l ? this._create_token(a.RAW, l) : this._create_token(a.EOF, "");
|
|
477
|
+
}, n.prototype._is_comment = function(c) {
|
|
478
|
+
return !1;
|
|
479
|
+
}, n.prototype._is_opening = function(c) {
|
|
480
|
+
return !1;
|
|
481
|
+
}, n.prototype._is_closing = function(c, o) {
|
|
482
|
+
return !1;
|
|
483
|
+
}, n.prototype._create_token = function(c, o) {
|
|
484
|
+
var l = new u(
|
|
485
|
+
c,
|
|
486
|
+
o,
|
|
487
|
+
this._patterns.whitespace.newline_count,
|
|
488
|
+
this._patterns.whitespace.whitespace_before_token
|
|
489
|
+
);
|
|
490
|
+
return l;
|
|
491
|
+
}, n.prototype._readWhitespace = function() {
|
|
492
|
+
return this._patterns.whitespace.read();
|
|
493
|
+
}, ve.Tokenizer = n, ve.TOKEN = a, ve;
|
|
494
|
+
}
|
|
495
|
+
var Ve = {}, Et;
|
|
496
|
+
function at() {
|
|
497
|
+
if (Et) return Ve;
|
|
498
|
+
Et = 1;
|
|
499
|
+
function e(u, i) {
|
|
500
|
+
u = typeof u == "string" ? u : u.source, i = typeof i == "string" ? i : i.source, this.__directives_block_pattern = new RegExp(u + / beautify( \w+[:]\w+)+ /.source + i, "g"), this.__directive_pattern = / (\w+)[:](\w+)/g, this.__directives_end_ignore_pattern = new RegExp(u + /\sbeautify\signore:end\s/.source + i, "g");
|
|
501
|
+
}
|
|
502
|
+
return e.prototype.get_directives = function(u) {
|
|
503
|
+
if (!u.match(this.__directives_block_pattern))
|
|
504
|
+
return null;
|
|
505
|
+
var i = {};
|
|
506
|
+
this.__directive_pattern.lastIndex = 0;
|
|
507
|
+
for (var t = this.__directive_pattern.exec(u); t; )
|
|
508
|
+
i[t[1]] = t[2], t = this.__directive_pattern.exec(u);
|
|
509
|
+
return i;
|
|
510
|
+
}, e.prototype.readIgnored = function(u) {
|
|
511
|
+
return u.readUntilAfter(this.__directives_end_ignore_pattern);
|
|
512
|
+
}, Ve.Directives = e, Ve;
|
|
513
|
+
}
|
|
514
|
+
var Me = {}, yt;
|
|
515
|
+
function Mt() {
|
|
516
|
+
if (yt) return Me;
|
|
517
|
+
yt = 1;
|
|
518
|
+
var e = Te().Pattern, u = {
|
|
519
|
+
django: !1,
|
|
520
|
+
erb: !1,
|
|
521
|
+
handlebars: !1,
|
|
522
|
+
php: !1,
|
|
523
|
+
smarty: !1,
|
|
524
|
+
angular: !1
|
|
525
|
+
};
|
|
526
|
+
function i(t, a) {
|
|
527
|
+
e.call(this, t, a), this.__template_pattern = null, this._disabled = Object.assign({}, u), this._excluded = Object.assign({}, u), a && (this.__template_pattern = this._input.get_regexp(a.__template_pattern), this._excluded = Object.assign(this._excluded, a._excluded), this._disabled = Object.assign(this._disabled, a._disabled));
|
|
528
|
+
var n = new e(t);
|
|
529
|
+
this.__patterns = {
|
|
530
|
+
handlebars_comment: n.starting_with(/{{!--/).until_after(/--}}/),
|
|
531
|
+
handlebars_unescaped: n.starting_with(/{{{/).until_after(/}}}/),
|
|
532
|
+
handlebars: n.starting_with(/{{/).until_after(/}}/),
|
|
533
|
+
php: n.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),
|
|
534
|
+
erb: n.starting_with(/<%[^%]/).until_after(/[^%]%>/),
|
|
535
|
+
// django coflicts with handlebars a bit.
|
|
536
|
+
django: n.starting_with(/{%/).until_after(/%}/),
|
|
537
|
+
django_value: n.starting_with(/{{/).until_after(/}}/),
|
|
538
|
+
django_comment: n.starting_with(/{#/).until_after(/#}/),
|
|
539
|
+
smarty: n.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),
|
|
540
|
+
smarty_comment: n.starting_with(/{\*/).until_after(/\*}/),
|
|
541
|
+
smarty_literal: n.starting_with(/{literal}/).until_after(/{\/literal}/)
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
return i.prototype = new e(), i.prototype._create = function() {
|
|
545
|
+
return new i(this._input, this);
|
|
546
|
+
}, i.prototype._update = function() {
|
|
547
|
+
this.__set_templated_pattern();
|
|
548
|
+
}, i.prototype.disable = function(t) {
|
|
549
|
+
var a = this._create();
|
|
550
|
+
return a._disabled[t] = !0, a._update(), a;
|
|
551
|
+
}, i.prototype.read_options = function(t) {
|
|
552
|
+
var a = this._create();
|
|
553
|
+
for (var n in u)
|
|
554
|
+
a._disabled[n] = t.templating.indexOf(n) === -1;
|
|
555
|
+
return a._update(), a;
|
|
556
|
+
}, i.prototype.exclude = function(t) {
|
|
557
|
+
var a = this._create();
|
|
558
|
+
return a._excluded[t] = !0, a._update(), a;
|
|
559
|
+
}, i.prototype.read = function() {
|
|
560
|
+
var t = "";
|
|
561
|
+
this._match_pattern ? t = this._input.read(this._starting_pattern) : t = this._input.read(this._starting_pattern, this.__template_pattern);
|
|
562
|
+
for (var a = this._read_template(); a; )
|
|
563
|
+
this._match_pattern ? a += this._input.read(this._match_pattern) : a += this._input.readUntil(this.__template_pattern), t += a, a = this._read_template();
|
|
564
|
+
return this._until_after && (t += this._input.readUntilAfter(this._until_pattern)), t;
|
|
565
|
+
}, i.prototype.__set_templated_pattern = function() {
|
|
566
|
+
var t = [];
|
|
567
|
+
this._disabled.php || t.push(this.__patterns.php._starting_pattern.source), this._disabled.handlebars || t.push(this.__patterns.handlebars._starting_pattern.source), this._disabled.angular || t.push(this.__patterns.handlebars._starting_pattern.source), this._disabled.erb || t.push(this.__patterns.erb._starting_pattern.source), this._disabled.django || (t.push(this.__patterns.django._starting_pattern.source), t.push(this.__patterns.django_value._starting_pattern.source), t.push(this.__patterns.django_comment._starting_pattern.source)), this._disabled.smarty || t.push(this.__patterns.smarty._starting_pattern.source), this._until_pattern && t.push(this._until_pattern.source), this.__template_pattern = this._input.get_regexp("(?:" + t.join("|") + ")");
|
|
568
|
+
}, i.prototype._read_template = function() {
|
|
569
|
+
var t = "", a = this._input.peek();
|
|
570
|
+
if (a === "<") {
|
|
571
|
+
var n = this._input.peek(1);
|
|
572
|
+
!this._disabled.php && !this._excluded.php && n === "?" && (t = t || this.__patterns.php.read()), !this._disabled.erb && !this._excluded.erb && n === "%" && (t = t || this.__patterns.erb.read());
|
|
573
|
+
} else a === "{" && (!this._disabled.handlebars && !this._excluded.handlebars && (t = t || this.__patterns.handlebars_comment.read(), t = t || this.__patterns.handlebars_unescaped.read(), t = t || this.__patterns.handlebars.read()), this._disabled.django || (!this._excluded.django && !this._excluded.handlebars && (t = t || this.__patterns.django_value.read()), this._excluded.django || (t = t || this.__patterns.django_comment.read(), t = t || this.__patterns.django.read())), this._disabled.smarty || this._disabled.django && this._disabled.handlebars && (t = t || this.__patterns.smarty_comment.read(), t = t || this.__patterns.smarty_literal.read(), t = t || this.__patterns.smarty.read()));
|
|
574
|
+
return t;
|
|
575
|
+
}, Me.TemplatablePattern = i, Me;
|
|
576
|
+
}
|
|
577
|
+
var xt;
|
|
578
|
+
function Ee() {
|
|
579
|
+
if (xt) return re;
|
|
580
|
+
xt = 1;
|
|
581
|
+
var e = it().InputScanner, u = Be().Tokenizer, i = Be().TOKEN, t = at().Directives, a = jt(), n = Te().Pattern, c = Mt().TemplatablePattern;
|
|
582
|
+
function o(m, v) {
|
|
583
|
+
return v.indexOf(m) !== -1;
|
|
584
|
+
}
|
|
585
|
+
var l = {
|
|
586
|
+
START_EXPR: "TK_START_EXPR",
|
|
587
|
+
END_EXPR: "TK_END_EXPR",
|
|
588
|
+
START_BLOCK: "TK_START_BLOCK",
|
|
589
|
+
END_BLOCK: "TK_END_BLOCK",
|
|
590
|
+
WORD: "TK_WORD",
|
|
591
|
+
RESERVED: "TK_RESERVED",
|
|
592
|
+
SEMICOLON: "TK_SEMICOLON",
|
|
593
|
+
STRING: "TK_STRING",
|
|
594
|
+
EQUALS: "TK_EQUALS",
|
|
595
|
+
OPERATOR: "TK_OPERATOR",
|
|
596
|
+
COMMA: "TK_COMMA",
|
|
597
|
+
BLOCK_COMMENT: "TK_BLOCK_COMMENT",
|
|
598
|
+
COMMENT: "TK_COMMENT",
|
|
599
|
+
DOT: "TK_DOT",
|
|
600
|
+
UNKNOWN: "TK_UNKNOWN",
|
|
601
|
+
START: i.START,
|
|
602
|
+
RAW: i.RAW,
|
|
603
|
+
EOF: i.EOF
|
|
604
|
+
}, b = new t(/\/\*/, /\*\//), d = /0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/, g = /[0-9]/, E = /[^\d\.]/, R = ">>> === !== &&= ??= ||= << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "), q = ">>>= ... >>= <<= === >>> !== **= &&= ??= ||= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";
|
|
605
|
+
q = q.replace(/[-[\]{}()*+?.,\\^$|#]/g, "\\$&"), q = "\\?\\.(?!\\d) " + q, q = q.replace(/ /g, "|");
|
|
606
|
+
var N = new RegExp(q), _ = "continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","), s = _.concat(["do", "in", "of", "else", "get", "set", "new", "catch", "finally", "typeof", "yield", "async", "await", "from", "as", "class", "extends"]), h = new RegExp("^(?:" + s.join("|") + ")$"), T, y = function(m, v) {
|
|
607
|
+
u.call(this, m, v), this._patterns.whitespace = this._patterns.whitespace.matching(
|
|
608
|
+
/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,
|
|
609
|
+
/\u2028\u2029/.source
|
|
610
|
+
);
|
|
611
|
+
var f = new n(this._input), C = new c(this._input).read_options(this._options);
|
|
612
|
+
this.__patterns = {
|
|
613
|
+
template: C,
|
|
614
|
+
identifier: C.starting_with(a.identifier).matching(a.identifierMatch),
|
|
615
|
+
number: f.matching(d),
|
|
616
|
+
punct: f.matching(N),
|
|
617
|
+
// comment ends just before nearest linefeed or end of file
|
|
618
|
+
comment: f.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),
|
|
619
|
+
// /* ... */ comment ends with nearest */ or end of file
|
|
620
|
+
block_comment: f.starting_with(/\/\*/).until_after(/\*\//),
|
|
621
|
+
html_comment_start: f.matching(/<!--/),
|
|
622
|
+
html_comment_end: f.matching(/-->/),
|
|
623
|
+
include: f.starting_with(/#include/).until_after(a.lineBreak),
|
|
624
|
+
shebang: f.starting_with(/#!/).until_after(a.lineBreak),
|
|
625
|
+
xml: f.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),
|
|
626
|
+
single_quote: C.until(/['\\\n\r\u2028\u2029]/),
|
|
627
|
+
double_quote: C.until(/["\\\n\r\u2028\u2029]/),
|
|
628
|
+
template_text: C.until(/[`\\$]/),
|
|
629
|
+
template_expression: C.until(/[`}\\]/)
|
|
630
|
+
};
|
|
631
|
+
};
|
|
632
|
+
y.prototype = new u(), y.prototype._is_comment = function(m) {
|
|
633
|
+
return m.type === l.COMMENT || m.type === l.BLOCK_COMMENT || m.type === l.UNKNOWN;
|
|
634
|
+
}, y.prototype._is_opening = function(m) {
|
|
635
|
+
return m.type === l.START_BLOCK || m.type === l.START_EXPR;
|
|
636
|
+
}, y.prototype._is_closing = function(m, v) {
|
|
637
|
+
return (m.type === l.END_BLOCK || m.type === l.END_EXPR) && v && (m.text === "]" && v.text === "[" || m.text === ")" && v.text === "(" || m.text === "}" && v.text === "{");
|
|
638
|
+
}, y.prototype._reset = function() {
|
|
639
|
+
T = !1;
|
|
640
|
+
}, y.prototype._get_next_token = function(m, v) {
|
|
641
|
+
var f = null;
|
|
642
|
+
this._readWhitespace();
|
|
643
|
+
var C = this._input.peek();
|
|
644
|
+
return C === null ? this._create_token(l.EOF, "") : (f = f || this._read_non_javascript(C), f = f || this._read_string(C), f = f || this._read_pair(C, this._input.peek(1)), f = f || this._read_word(m), f = f || this._read_singles(C), f = f || this._read_comment(C), f = f || this._read_regexp(C, m), f = f || this._read_xml(C, m), f = f || this._read_punctuation(), f = f || this._create_token(l.UNKNOWN, this._input.next()), f);
|
|
645
|
+
}, y.prototype._read_word = function(m) {
|
|
646
|
+
var v;
|
|
647
|
+
if (v = this.__patterns.identifier.read(), v !== "")
|
|
648
|
+
return v = v.replace(a.allLineBreaks, `
|
|
649
|
+
`), !(m.type === l.DOT || m.type === l.RESERVED && (m.text === "set" || m.text === "get")) && h.test(v) ? (v === "in" || v === "of") && (m.type === l.WORD || m.type === l.STRING) ? this._create_token(l.OPERATOR, v) : this._create_token(l.RESERVED, v) : this._create_token(l.WORD, v);
|
|
650
|
+
if (v = this.__patterns.number.read(), v !== "")
|
|
651
|
+
return this._create_token(l.WORD, v);
|
|
652
|
+
}, y.prototype._read_singles = function(m) {
|
|
653
|
+
var v = null;
|
|
654
|
+
return m === "(" || m === "[" ? v = this._create_token(l.START_EXPR, m) : m === ")" || m === "]" ? v = this._create_token(l.END_EXPR, m) : m === "{" ? v = this._create_token(l.START_BLOCK, m) : m === "}" ? v = this._create_token(l.END_BLOCK, m) : m === ";" ? v = this._create_token(l.SEMICOLON, m) : m === "." && E.test(this._input.peek(1)) ? v = this._create_token(l.DOT, m) : m === "," && (v = this._create_token(l.COMMA, m)), v && this._input.next(), v;
|
|
655
|
+
}, y.prototype._read_pair = function(m, v) {
|
|
656
|
+
var f = null;
|
|
657
|
+
return m === "#" && v === "{" && (f = this._create_token(l.START_BLOCK, m + v)), f && (this._input.next(), this._input.next()), f;
|
|
658
|
+
}, y.prototype._read_punctuation = function() {
|
|
659
|
+
var m = this.__patterns.punct.read();
|
|
660
|
+
if (m !== "")
|
|
661
|
+
return m === "=" ? this._create_token(l.EQUALS, m) : m === "?." ? this._create_token(l.DOT, m) : this._create_token(l.OPERATOR, m);
|
|
662
|
+
}, y.prototype._read_non_javascript = function(m) {
|
|
663
|
+
var v = "";
|
|
664
|
+
if (m === "#") {
|
|
665
|
+
if (this._is_first_token() && (v = this.__patterns.shebang.read(), v))
|
|
666
|
+
return this._create_token(l.UNKNOWN, v.trim() + `
|
|
667
|
+
`);
|
|
668
|
+
if (v = this.__patterns.include.read(), v)
|
|
669
|
+
return this._create_token(l.UNKNOWN, v.trim() + `
|
|
670
|
+
`);
|
|
671
|
+
m = this._input.next();
|
|
672
|
+
var f = "#";
|
|
673
|
+
if (this._input.hasNext() && this._input.testChar(g)) {
|
|
674
|
+
do
|
|
675
|
+
m = this._input.next(), f += m;
|
|
676
|
+
while (this._input.hasNext() && m !== "#" && m !== "=");
|
|
677
|
+
return m === "#" || (this._input.peek() === "[" && this._input.peek(1) === "]" ? (f += "[]", this._input.next(), this._input.next()) : this._input.peek() === "{" && this._input.peek(1) === "}" && (f += "{}", this._input.next(), this._input.next())), this._create_token(l.WORD, f);
|
|
678
|
+
}
|
|
679
|
+
this._input.back();
|
|
680
|
+
} else if (m === "<" && this._is_first_token()) {
|
|
681
|
+
if (v = this.__patterns.html_comment_start.read(), v) {
|
|
682
|
+
for (; this._input.hasNext() && !this._input.testChar(a.newline); )
|
|
683
|
+
v += this._input.next();
|
|
684
|
+
return T = !0, this._create_token(l.COMMENT, v);
|
|
685
|
+
}
|
|
686
|
+
} else if (T && m === "-" && (v = this.__patterns.html_comment_end.read(), v))
|
|
687
|
+
return T = !1, this._create_token(l.COMMENT, v);
|
|
688
|
+
return null;
|
|
689
|
+
}, y.prototype._read_comment = function(m) {
|
|
690
|
+
var v = null;
|
|
691
|
+
if (m === "/") {
|
|
692
|
+
var f = "";
|
|
693
|
+
if (this._input.peek(1) === "*") {
|
|
694
|
+
f = this.__patterns.block_comment.read();
|
|
695
|
+
var C = b.get_directives(f);
|
|
696
|
+
C && C.ignore === "start" && (f += b.readIgnored(this._input)), f = f.replace(a.allLineBreaks, `
|
|
697
|
+
`), v = this._create_token(l.BLOCK_COMMENT, f), v.directives = C;
|
|
698
|
+
} else this._input.peek(1) === "/" && (f = this.__patterns.comment.read(), v = this._create_token(l.COMMENT, f));
|
|
699
|
+
}
|
|
700
|
+
return v;
|
|
701
|
+
}, y.prototype._read_string = function(m) {
|
|
702
|
+
if (m === "`" || m === "'" || m === '"') {
|
|
703
|
+
var v = this._input.next();
|
|
704
|
+
return this.has_char_escapes = !1, m === "`" ? v += this._read_string_recursive("`", !0, "${") : v += this._read_string_recursive(m), this.has_char_escapes && this._options.unescape_strings && (v = O(v)), this._input.peek() === m && (v += this._input.next()), v = v.replace(a.allLineBreaks, `
|
|
705
|
+
`), this._create_token(l.STRING, v);
|
|
706
|
+
}
|
|
707
|
+
return null;
|
|
708
|
+
}, y.prototype._allow_regexp_or_xml = function(m) {
|
|
709
|
+
return m.type === l.RESERVED && o(m.text, ["return", "case", "throw", "else", "do", "typeof", "yield"]) || m.type === l.END_EXPR && m.text === ")" && m.opened.previous.type === l.RESERVED && o(m.opened.previous.text, ["if", "while", "for"]) || o(m.type, [
|
|
710
|
+
l.COMMENT,
|
|
711
|
+
l.START_EXPR,
|
|
712
|
+
l.START_BLOCK,
|
|
713
|
+
l.START,
|
|
714
|
+
l.END_BLOCK,
|
|
715
|
+
l.OPERATOR,
|
|
716
|
+
l.EQUALS,
|
|
717
|
+
l.EOF,
|
|
718
|
+
l.SEMICOLON,
|
|
719
|
+
l.COMMA
|
|
720
|
+
]);
|
|
721
|
+
}, y.prototype._read_regexp = function(m, v) {
|
|
722
|
+
if (m === "/" && this._allow_regexp_or_xml(v)) {
|
|
723
|
+
for (var f = this._input.next(), C = !1, r = !1; this._input.hasNext() && (C || r || this._input.peek() !== m) && !this._input.testChar(a.newline); )
|
|
724
|
+
f += this._input.peek(), C ? C = !1 : (C = this._input.peek() === "\\", this._input.peek() === "[" ? r = !0 : this._input.peek() === "]" && (r = !1)), this._input.next();
|
|
725
|
+
return this._input.peek() === m && (f += this._input.next(), f += this._input.read(a.identifier)), this._create_token(l.STRING, f);
|
|
726
|
+
}
|
|
727
|
+
return null;
|
|
728
|
+
}, y.prototype._read_xml = function(m, v) {
|
|
729
|
+
if (this._options.e4x && m === "<" && this._allow_regexp_or_xml(v)) {
|
|
730
|
+
var f = "", C = this.__patterns.xml.read_match();
|
|
731
|
+
if (C) {
|
|
732
|
+
for (var r = C[2].replace(/^{\s+/, "{").replace(/\s+}$/, "}"), D = r.indexOf("{") === 0, A = 0; C; ) {
|
|
733
|
+
var w = !!C[1], k = C[2], L = !!C[C.length - 1] || k.slice(0, 8) === "![CDATA[";
|
|
734
|
+
if (!L && (k === r || D && k.replace(/^{\s+/, "{").replace(/\s+}$/, "}")) && (w ? --A : ++A), f += C[0], A <= 0)
|
|
735
|
+
break;
|
|
736
|
+
C = this.__patterns.xml.read_match();
|
|
737
|
+
}
|
|
738
|
+
return C || (f += this._input.match(/[\s\S]*/g)[0]), f = f.replace(a.allLineBreaks, `
|
|
739
|
+
`), this._create_token(l.STRING, f);
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
return null;
|
|
743
|
+
};
|
|
744
|
+
function O(m) {
|
|
745
|
+
for (var v = "", f = 0, C = new e(m), r = null; C.hasNext(); )
|
|
746
|
+
if (r = C.match(/([\s]|[^\\]|\\\\)+/g), r && (v += r[0]), C.peek() === "\\") {
|
|
747
|
+
if (C.next(), C.peek() === "x")
|
|
748
|
+
r = C.match(/x([0-9A-Fa-f]{2})/g);
|
|
749
|
+
else if (C.peek() === "u")
|
|
750
|
+
r = C.match(/u([0-9A-Fa-f]{4})/g), r || (r = C.match(/u\{([0-9A-Fa-f]+)\}/g));
|
|
751
|
+
else {
|
|
752
|
+
v += "\\", C.hasNext() && (v += C.next());
|
|
753
|
+
continue;
|
|
754
|
+
}
|
|
755
|
+
if (!r || (f = parseInt(r[1], 16), f > 126 && f <= 255 && r[0].indexOf("x") === 0))
|
|
756
|
+
return m;
|
|
757
|
+
f >= 0 && f < 32 || f > 1114111 ? v += "\\" + r[0] : f === 34 || f === 39 || f === 92 ? v += "\\" + String.fromCharCode(f) : v += String.fromCharCode(f);
|
|
758
|
+
}
|
|
759
|
+
return v;
|
|
760
|
+
}
|
|
761
|
+
return y.prototype._read_string_recursive = function(m, v, f) {
|
|
762
|
+
var C, r;
|
|
763
|
+
m === "'" ? r = this.__patterns.single_quote : m === '"' ? r = this.__patterns.double_quote : m === "`" ? r = this.__patterns.template_text : m === "}" && (r = this.__patterns.template_expression);
|
|
764
|
+
for (var D = r.read(), A = ""; this._input.hasNext(); ) {
|
|
765
|
+
if (A = this._input.next(), A === m || !v && a.newline.test(A)) {
|
|
766
|
+
this._input.back();
|
|
767
|
+
break;
|
|
768
|
+
} else A === "\\" && this._input.hasNext() ? (C = this._input.peek(), C === "x" || C === "u" ? this.has_char_escapes = !0 : C === "\r" && this._input.peek(1) === `
|
|
769
|
+
` && this._input.next(), A += this._input.next()) : f && (f === "${" && A === "$" && this._input.peek() === "{" && (A += this._input.next()), f === A && (m === "`" ? A += this._read_string_recursive("}", v, "`") : A += this._read_string_recursive("`", v, "${"), this._input.hasNext() && (A += this._input.next())));
|
|
770
|
+
A += r.read(), D += A;
|
|
771
|
+
}
|
|
772
|
+
return D;
|
|
773
|
+
}, re.Tokenizer = y, re.TOKEN = l, re.positionable_operators = R.slice(), re.line_starters = _.slice(), re;
|
|
774
|
+
}
|
|
775
|
+
var Ct;
|
|
776
|
+
function Eu() {
|
|
777
|
+
if (Ct) return Re;
|
|
778
|
+
Ct = 1;
|
|
779
|
+
var e = ut().Output, u = Ut().Token, i = jt(), t = Vt().Options, a = Ee().Tokenizer, n = Ee().line_starters, c = Ee().positionable_operators, o = Ee().TOKEN;
|
|
780
|
+
function l(r, D) {
|
|
781
|
+
return D.indexOf(r) !== -1;
|
|
782
|
+
}
|
|
783
|
+
function b(r) {
|
|
784
|
+
return r.replace(/^\s+/g, "");
|
|
785
|
+
}
|
|
786
|
+
function d(r) {
|
|
787
|
+
for (var D = {}, A = 0; A < r.length; A++)
|
|
788
|
+
D[r[A].replace(/-/g, "_")] = r[A];
|
|
789
|
+
return D;
|
|
790
|
+
}
|
|
791
|
+
function g(r, D) {
|
|
792
|
+
return r && r.type === o.RESERVED && r.text === D;
|
|
793
|
+
}
|
|
794
|
+
function E(r, D) {
|
|
795
|
+
return r && r.type === o.RESERVED && l(r.text, D);
|
|
796
|
+
}
|
|
797
|
+
var R = ["case", "return", "do", "if", "throw", "else", "await", "break", "continue", "async"], q = ["before-newline", "after-newline", "preserve-newline"], N = d(q), _ = [N.before_newline, N.preserve_newline], s = {
|
|
798
|
+
BlockStatement: "BlockStatement",
|
|
799
|
+
// 'BLOCK'
|
|
800
|
+
Statement: "Statement",
|
|
801
|
+
// 'STATEMENT'
|
|
802
|
+
ObjectLiteral: "ObjectLiteral",
|
|
803
|
+
// 'OBJECT',
|
|
804
|
+
ArrayLiteral: "ArrayLiteral",
|
|
805
|
+
//'[EXPRESSION]',
|
|
806
|
+
ForInitializer: "ForInitializer",
|
|
807
|
+
//'(FOR-EXPRESSION)',
|
|
808
|
+
Conditional: "Conditional",
|
|
809
|
+
//'(COND-EXPRESSION)',
|
|
810
|
+
Expression: "Expression"
|
|
811
|
+
//'(EXPRESSION)'
|
|
812
|
+
};
|
|
813
|
+
function h(r, D) {
|
|
814
|
+
D.multiline_frame || D.mode === s.ForInitializer || D.mode === s.Conditional || r.remove_indent(D.start_line_index);
|
|
815
|
+
}
|
|
816
|
+
function T(r) {
|
|
817
|
+
r = r.replace(i.allLineBreaks, `
|
|
818
|
+
`);
|
|
819
|
+
for (var D = [], A = r.indexOf(`
|
|
820
|
+
`); A !== -1; )
|
|
821
|
+
D.push(r.substring(0, A)), r = r.substring(A + 1), A = r.indexOf(`
|
|
822
|
+
`);
|
|
823
|
+
return r.length && D.push(r), D;
|
|
824
|
+
}
|
|
825
|
+
function y(r) {
|
|
826
|
+
return r === s.ArrayLiteral;
|
|
827
|
+
}
|
|
828
|
+
function O(r) {
|
|
829
|
+
return l(r, [s.Expression, s.ForInitializer, s.Conditional]);
|
|
830
|
+
}
|
|
831
|
+
function m(r, D) {
|
|
832
|
+
for (var A = 0; A < r.length; A++) {
|
|
833
|
+
var w = r[A].trim();
|
|
834
|
+
if (w.charAt(0) !== D)
|
|
835
|
+
return !1;
|
|
836
|
+
}
|
|
837
|
+
return !0;
|
|
838
|
+
}
|
|
839
|
+
function v(r, D) {
|
|
840
|
+
for (var A = 0, w = r.length, k; A < w; A++)
|
|
841
|
+
if (k = r[A], k && k.indexOf(D) !== 0)
|
|
842
|
+
return !1;
|
|
843
|
+
return !0;
|
|
844
|
+
}
|
|
845
|
+
function f(r, D) {
|
|
846
|
+
D = D || {}, this._source_text = r || "", this._output = null, this._tokens = null, this._last_last_text = null, this._flags = null, this._previous_flags = null, this._flag_store = null, this._options = new t(D);
|
|
847
|
+
}
|
|
848
|
+
f.prototype.create_flags = function(r, D) {
|
|
849
|
+
var A = 0;
|
|
850
|
+
r && (A = r.indentation_level, !this._output.just_added_newline() && r.line_indent_level > A && (A = r.line_indent_level));
|
|
851
|
+
var w = {
|
|
852
|
+
mode: D,
|
|
853
|
+
parent: r,
|
|
854
|
+
last_token: r ? r.last_token : new u(o.START_BLOCK, ""),
|
|
855
|
+
// last token text
|
|
856
|
+
last_word: r ? r.last_word : "",
|
|
857
|
+
// last TOKEN.WORD passed
|
|
858
|
+
declaration_statement: !1,
|
|
859
|
+
declaration_assignment: !1,
|
|
860
|
+
multiline_frame: !1,
|
|
861
|
+
inline_frame: !1,
|
|
862
|
+
if_block: !1,
|
|
863
|
+
else_block: !1,
|
|
864
|
+
class_start_block: !1,
|
|
865
|
+
// class A { INSIDE HERE } or class B extends C { INSIDE HERE }
|
|
866
|
+
do_block: !1,
|
|
867
|
+
do_while: !1,
|
|
868
|
+
import_block: !1,
|
|
869
|
+
in_case_statement: !1,
|
|
870
|
+
// switch(..){ INSIDE HERE }
|
|
871
|
+
in_case: !1,
|
|
872
|
+
// we're on the exact line with "case 0:"
|
|
873
|
+
case_body: !1,
|
|
874
|
+
// the indented case-action block
|
|
875
|
+
case_block: !1,
|
|
876
|
+
// the indented case-action block is wrapped with {}
|
|
877
|
+
indentation_level: A,
|
|
878
|
+
alignment: 0,
|
|
879
|
+
line_indent_level: r ? r.line_indent_level : A,
|
|
880
|
+
start_line_index: this._output.get_line_number(),
|
|
881
|
+
ternary_depth: 0
|
|
882
|
+
};
|
|
883
|
+
return w;
|
|
884
|
+
}, f.prototype._reset = function(r) {
|
|
885
|
+
var D = r.match(/^[\t ]*/)[0];
|
|
886
|
+
this._last_last_text = "", this._output = new e(this._options, D), this._output.raw = this._options.test_output_raw, this._flag_store = [], this.set_mode(s.BlockStatement);
|
|
887
|
+
var A = new a(r, this._options);
|
|
888
|
+
return this._tokens = A.tokenize(), r;
|
|
889
|
+
}, f.prototype.beautify = function() {
|
|
890
|
+
if (this._options.disabled)
|
|
891
|
+
return this._source_text;
|
|
892
|
+
var r, D = this._reset(this._source_text), A = this._options.eol;
|
|
893
|
+
this._options.eol === "auto" && (A = `
|
|
894
|
+
`, D && i.lineBreak.test(D || "") && (A = D.match(i.lineBreak)[0]));
|
|
895
|
+
for (var w = this._tokens.next(); w; )
|
|
896
|
+
this.handle_token(w), this._last_last_text = this._flags.last_token.text, this._flags.last_token = w, w = this._tokens.next();
|
|
897
|
+
return r = this._output.get_code(A), r;
|
|
898
|
+
}, f.prototype.handle_token = function(r, D) {
|
|
899
|
+
r.type === o.START_EXPR ? this.handle_start_expr(r) : r.type === o.END_EXPR ? this.handle_end_expr(r) : r.type === o.START_BLOCK ? this.handle_start_block(r) : r.type === o.END_BLOCK ? this.handle_end_block(r) : r.type === o.WORD ? this.handle_word(r) : r.type === o.RESERVED ? this.handle_word(r) : r.type === o.SEMICOLON ? this.handle_semicolon(r) : r.type === o.STRING ? this.handle_string(r) : r.type === o.EQUALS ? this.handle_equals(r) : r.type === o.OPERATOR ? this.handle_operator(r) : r.type === o.COMMA ? this.handle_comma(r) : r.type === o.BLOCK_COMMENT ? this.handle_block_comment(r, D) : r.type === o.COMMENT ? this.handle_comment(r, D) : r.type === o.DOT ? this.handle_dot(r) : r.type === o.EOF ? this.handle_eof(r) : r.type === o.UNKNOWN ? this.handle_unknown(r, D) : this.handle_unknown(r, D);
|
|
900
|
+
}, f.prototype.handle_whitespace_and_comments = function(r, D) {
|
|
901
|
+
var A = r.newlines, w = this._options.keep_array_indentation && y(this._flags.mode);
|
|
902
|
+
if (r.comments_before)
|
|
903
|
+
for (var k = r.comments_before.next(); k; )
|
|
904
|
+
this.handle_whitespace_and_comments(k, D), this.handle_token(k, D), k = r.comments_before.next();
|
|
905
|
+
if (w)
|
|
906
|
+
for (var L = 0; L < A; L += 1)
|
|
907
|
+
this.print_newline(L > 0, D);
|
|
908
|
+
else if (this._options.max_preserve_newlines && A > this._options.max_preserve_newlines && (A = this._options.max_preserve_newlines), this._options.preserve_newlines && A > 1) {
|
|
909
|
+
this.print_newline(!1, D);
|
|
910
|
+
for (var U = 1; U < A; U += 1)
|
|
911
|
+
this.print_newline(!0, D);
|
|
912
|
+
}
|
|
913
|
+
};
|
|
914
|
+
var C = ["async", "break", "continue", "return", "throw", "yield"];
|
|
915
|
+
return f.prototype.allow_wrap_or_preserved_newline = function(r, D) {
|
|
916
|
+
if (D = D === void 0 ? !1 : D, !this._output.just_added_newline()) {
|
|
917
|
+
var A = this._options.preserve_newlines && r.newlines || D, w = l(this._flags.last_token.text, c) || l(r.text, c);
|
|
918
|
+
if (w) {
|
|
919
|
+
var k = l(this._flags.last_token.text, c) && l(this._options.operator_position, _) || l(r.text, c);
|
|
920
|
+
A = A && k;
|
|
921
|
+
}
|
|
922
|
+
if (A)
|
|
923
|
+
this.print_newline(!1, !0);
|
|
924
|
+
else if (this._options.wrap_line_length) {
|
|
925
|
+
if (E(this._flags.last_token, C))
|
|
926
|
+
return;
|
|
927
|
+
this._output.set_wrap_point();
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
}, f.prototype.print_newline = function(r, D) {
|
|
931
|
+
if (!D && this._flags.last_token.text !== ";" && this._flags.last_token.text !== "," && this._flags.last_token.text !== "=" && (this._flags.last_token.type !== o.OPERATOR || this._flags.last_token.text === "--" || this._flags.last_token.text === "++"))
|
|
932
|
+
for (var A = this._tokens.peek(); this._flags.mode === s.Statement && !(this._flags.if_block && g(A, "else")) && !this._flags.do_block; )
|
|
933
|
+
this.restore_mode();
|
|
934
|
+
this._output.add_new_line(r) && (this._flags.multiline_frame = !0);
|
|
935
|
+
}, f.prototype.print_token_line_indentation = function(r) {
|
|
936
|
+
this._output.just_added_newline() && (this._options.keep_array_indentation && r.newlines && (r.text === "[" || y(this._flags.mode)) ? (this._output.current_line.set_indent(-1), this._output.current_line.push(r.whitespace_before), this._output.space_before_token = !1) : this._output.set_indent(this._flags.indentation_level, this._flags.alignment) && (this._flags.line_indent_level = this._flags.indentation_level));
|
|
937
|
+
}, f.prototype.print_token = function(r) {
|
|
938
|
+
if (this._output.raw) {
|
|
939
|
+
this._output.add_raw_token(r);
|
|
940
|
+
return;
|
|
941
|
+
}
|
|
942
|
+
if (this._options.comma_first && r.previous && r.previous.type === o.COMMA && this._output.just_added_newline() && this._output.previous_line.last() === ",") {
|
|
943
|
+
var D = this._output.previous_line.pop();
|
|
944
|
+
this._output.previous_line.is_empty() && (this._output.previous_line.push(D), this._output.trim(!0), this._output.current_line.pop(), this._output.trim()), this.print_token_line_indentation(r), this._output.add_token(","), this._output.space_before_token = !0;
|
|
945
|
+
}
|
|
946
|
+
this.print_token_line_indentation(r), this._output.non_breaking_space = !0, this._output.add_token(r.text), this._output.previous_token_wrapped && (this._flags.multiline_frame = !0);
|
|
947
|
+
}, f.prototype.indent = function() {
|
|
948
|
+
this._flags.indentation_level += 1, this._output.set_indent(this._flags.indentation_level, this._flags.alignment);
|
|
949
|
+
}, f.prototype.deindent = function() {
|
|
950
|
+
this._flags.indentation_level > 0 && (!this._flags.parent || this._flags.indentation_level > this._flags.parent.indentation_level) && (this._flags.indentation_level -= 1, this._output.set_indent(this._flags.indentation_level, this._flags.alignment));
|
|
951
|
+
}, f.prototype.set_mode = function(r) {
|
|
952
|
+
this._flags ? (this._flag_store.push(this._flags), this._previous_flags = this._flags) : this._previous_flags = this.create_flags(null, r), this._flags = this.create_flags(this._previous_flags, r), this._output.set_indent(this._flags.indentation_level, this._flags.alignment);
|
|
953
|
+
}, f.prototype.restore_mode = function() {
|
|
954
|
+
this._flag_store.length > 0 && (this._previous_flags = this._flags, this._flags = this._flag_store.pop(), this._previous_flags.mode === s.Statement && h(this._output, this._previous_flags), this._output.set_indent(this._flags.indentation_level, this._flags.alignment));
|
|
955
|
+
}, f.prototype.start_of_object_property = function() {
|
|
956
|
+
return this._flags.parent.mode === s.ObjectLiteral && this._flags.mode === s.Statement && (this._flags.last_token.text === ":" && this._flags.ternary_depth === 0 || E(this._flags.last_token, ["get", "set"]));
|
|
957
|
+
}, f.prototype.start_of_statement = function(r) {
|
|
958
|
+
var D = !1;
|
|
959
|
+
return D = D || E(this._flags.last_token, ["var", "let", "const"]) && r.type === o.WORD, D = D || g(this._flags.last_token, "do"), D = D || !(this._flags.parent.mode === s.ObjectLiteral && this._flags.mode === s.Statement) && E(this._flags.last_token, C) && !r.newlines, D = D || g(this._flags.last_token, "else") && !(g(r, "if") && !r.comments_before), D = D || this._flags.last_token.type === o.END_EXPR && (this._previous_flags.mode === s.ForInitializer || this._previous_flags.mode === s.Conditional), D = D || this._flags.last_token.type === o.WORD && this._flags.mode === s.BlockStatement && !this._flags.in_case && !(r.text === "--" || r.text === "++") && this._last_last_text !== "function" && r.type !== o.WORD && r.type !== o.RESERVED, D = D || this._flags.mode === s.ObjectLiteral && (this._flags.last_token.text === ":" && this._flags.ternary_depth === 0 || E(this._flags.last_token, ["get", "set"])), D ? (this.set_mode(s.Statement), this.indent(), this.handle_whitespace_and_comments(r, !0), this.start_of_object_property() || this.allow_wrap_or_preserved_newline(
|
|
960
|
+
r,
|
|
961
|
+
E(r, ["do", "for", "if", "while"])
|
|
962
|
+
), !0) : !1;
|
|
963
|
+
}, f.prototype.handle_start_expr = function(r) {
|
|
964
|
+
this.start_of_statement(r) || this.handle_whitespace_and_comments(r);
|
|
965
|
+
var D = s.Expression;
|
|
966
|
+
if (r.text === "[") {
|
|
967
|
+
if (this._flags.last_token.type === o.WORD || this._flags.last_token.text === ")") {
|
|
968
|
+
E(this._flags.last_token, n) && (this._output.space_before_token = !0), this.print_token(r), this.set_mode(D), this.indent(), this._options.space_in_paren && (this._output.space_before_token = !0);
|
|
969
|
+
return;
|
|
970
|
+
}
|
|
971
|
+
D = s.ArrayLiteral, y(this._flags.mode) && (this._flags.last_token.text === "[" || this._flags.last_token.text === "," && (this._last_last_text === "]" || this._last_last_text === "}")) && (this._options.keep_array_indentation || this.print_newline()), l(this._flags.last_token.type, [o.START_EXPR, o.END_EXPR, o.WORD, o.OPERATOR, o.DOT]) || (this._output.space_before_token = !0);
|
|
972
|
+
} else {
|
|
973
|
+
if (this._flags.last_token.type === o.RESERVED)
|
|
974
|
+
this._flags.last_token.text === "for" ? (this._output.space_before_token = this._options.space_before_conditional, D = s.ForInitializer) : l(this._flags.last_token.text, ["if", "while", "switch"]) ? (this._output.space_before_token = this._options.space_before_conditional, D = s.Conditional) : l(this._flags.last_word, ["await", "async"]) ? this._output.space_before_token = !0 : this._flags.last_token.text === "import" && r.whitespace_before === "" ? this._output.space_before_token = !1 : (l(this._flags.last_token.text, n) || this._flags.last_token.text === "catch") && (this._output.space_before_token = !0);
|
|
975
|
+
else if (this._flags.last_token.type === o.EQUALS || this._flags.last_token.type === o.OPERATOR)
|
|
976
|
+
this.start_of_object_property() || this.allow_wrap_or_preserved_newline(r);
|
|
977
|
+
else if (this._flags.last_token.type === o.WORD) {
|
|
978
|
+
this._output.space_before_token = !1;
|
|
979
|
+
var A = this._tokens.peek(-3);
|
|
980
|
+
if (this._options.space_after_named_function && A) {
|
|
981
|
+
var w = this._tokens.peek(-4);
|
|
982
|
+
E(A, ["async", "function"]) || A.text === "*" && E(w, ["async", "function"]) ? this._output.space_before_token = !0 : this._flags.mode === s.ObjectLiteral ? (A.text === "{" || A.text === "," || A.text === "*" && (w.text === "{" || w.text === ",")) && (this._output.space_before_token = !0) : this._flags.parent && this._flags.parent.class_start_block && (this._output.space_before_token = !0);
|
|
983
|
+
}
|
|
984
|
+
} else
|
|
985
|
+
this.allow_wrap_or_preserved_newline(r);
|
|
986
|
+
(this._flags.last_token.type === o.RESERVED && (this._flags.last_word === "function" || this._flags.last_word === "typeof") || this._flags.last_token.text === "*" && (l(this._last_last_text, ["function", "yield"]) || this._flags.mode === s.ObjectLiteral && l(this._last_last_text, ["{", ","]))) && (this._output.space_before_token = this._options.space_after_anon_function);
|
|
987
|
+
}
|
|
988
|
+
this._flags.last_token.text === ";" || this._flags.last_token.type === o.START_BLOCK ? this.print_newline() : (this._flags.last_token.type === o.END_EXPR || this._flags.last_token.type === o.START_EXPR || this._flags.last_token.type === o.END_BLOCK || this._flags.last_token.text === "." || this._flags.last_token.type === o.COMMA) && this.allow_wrap_or_preserved_newline(r, r.newlines), this.print_token(r), this.set_mode(D), this._options.space_in_paren && (this._output.space_before_token = !0), this.indent();
|
|
989
|
+
}, f.prototype.handle_end_expr = function(r) {
|
|
990
|
+
for (; this._flags.mode === s.Statement; )
|
|
991
|
+
this.restore_mode();
|
|
992
|
+
this.handle_whitespace_and_comments(r), this._flags.multiline_frame && this.allow_wrap_or_preserved_newline(
|
|
993
|
+
r,
|
|
994
|
+
r.text === "]" && y(this._flags.mode) && !this._options.keep_array_indentation
|
|
995
|
+
), this._options.space_in_paren && (this._flags.last_token.type === o.START_EXPR && !this._options.space_in_empty_paren ? (this._output.trim(), this._output.space_before_token = !1) : this._output.space_before_token = !0), this.deindent(), this.print_token(r), this.restore_mode(), h(this._output, this._previous_flags), this._flags.do_while && this._previous_flags.mode === s.Conditional && (this._previous_flags.mode = s.Expression, this._flags.do_block = !1, this._flags.do_while = !1);
|
|
996
|
+
}, f.prototype.handle_start_block = function(r) {
|
|
997
|
+
this.handle_whitespace_and_comments(r);
|
|
998
|
+
var D = this._tokens.peek(), A = this._tokens.peek(1);
|
|
999
|
+
this._flags.last_word === "switch" && this._flags.last_token.type === o.END_EXPR ? (this.set_mode(s.BlockStatement), this._flags.in_case_statement = !0) : this._flags.case_body ? this.set_mode(s.BlockStatement) : A && (l(A.text, [":", ","]) && l(D.type, [o.STRING, o.WORD, o.RESERVED]) || l(D.text, ["get", "set", "..."]) && l(A.type, [o.WORD, o.RESERVED])) ? l(this._last_last_text, ["class", "interface"]) && !l(A.text, [":", ","]) ? this.set_mode(s.BlockStatement) : this.set_mode(s.ObjectLiteral) : this._flags.last_token.type === o.OPERATOR && this._flags.last_token.text === "=>" ? this.set_mode(s.BlockStatement) : l(this._flags.last_token.type, [o.EQUALS, o.START_EXPR, o.COMMA, o.OPERATOR]) || E(this._flags.last_token, ["return", "throw", "import", "default"]) ? this.set_mode(s.ObjectLiteral) : this.set_mode(s.BlockStatement), this._flags.last_token && E(this._flags.last_token.previous, ["class", "extends"]) && (this._flags.class_start_block = !0);
|
|
1000
|
+
var w = !D.comments_before && D.text === "}", k = w && this._flags.last_word === "function" && this._flags.last_token.type === o.END_EXPR;
|
|
1001
|
+
if (this._options.brace_preserve_inline) {
|
|
1002
|
+
var L = 0, U = null;
|
|
1003
|
+
this._flags.inline_frame = !0;
|
|
1004
|
+
do
|
|
1005
|
+
if (L += 1, U = this._tokens.peek(L - 1), U.newlines) {
|
|
1006
|
+
this._flags.inline_frame = !1;
|
|
1007
|
+
break;
|
|
1008
|
+
}
|
|
1009
|
+
while (U.type !== o.EOF && !(U.type === o.END_BLOCK && U.opened === r));
|
|
1010
|
+
}
|
|
1011
|
+
(this._options.brace_style === "expand" || this._options.brace_style === "none" && r.newlines) && !this._flags.inline_frame ? this._flags.last_token.type !== o.OPERATOR && (k || this._flags.last_token.type === o.EQUALS || E(this._flags.last_token, R) && this._flags.last_token.text !== "else") ? this._output.space_before_token = !0 : this.print_newline(!1, !0) : (y(this._previous_flags.mode) && (this._flags.last_token.type === o.START_EXPR || this._flags.last_token.type === o.COMMA) && ((this._flags.last_token.type === o.COMMA || this._options.space_in_paren) && (this._output.space_before_token = !0), (this._flags.last_token.type === o.COMMA || this._flags.last_token.type === o.START_EXPR && this._flags.inline_frame) && (this.allow_wrap_or_preserved_newline(r), this._previous_flags.multiline_frame = this._previous_flags.multiline_frame || this._flags.multiline_frame, this._flags.multiline_frame = !1)), this._flags.last_token.type !== o.OPERATOR && this._flags.last_token.type !== o.START_EXPR && (l(this._flags.last_token.type, [o.START_BLOCK, o.SEMICOLON]) && !this._flags.inline_frame ? this.print_newline() : this._output.space_before_token = !0)), this.print_token(r), this.indent(), !w && !(this._options.brace_preserve_inline && this._flags.inline_frame) && this.print_newline();
|
|
1012
|
+
}, f.prototype.handle_end_block = function(r) {
|
|
1013
|
+
for (this.handle_whitespace_and_comments(r); this._flags.mode === s.Statement; )
|
|
1014
|
+
this.restore_mode();
|
|
1015
|
+
var D = this._flags.last_token.type === o.START_BLOCK;
|
|
1016
|
+
this._flags.inline_frame && !D ? this._output.space_before_token = !0 : this._options.brace_style === "expand" ? D || this.print_newline() : D || (y(this._flags.mode) && this._options.keep_array_indentation ? (this._options.keep_array_indentation = !1, this.print_newline(), this._options.keep_array_indentation = !0) : this.print_newline()), this.restore_mode(), this.print_token(r);
|
|
1017
|
+
}, f.prototype.handle_word = function(r) {
|
|
1018
|
+
if (r.type === o.RESERVED) {
|
|
1019
|
+
if (l(r.text, ["set", "get"]) && this._flags.mode !== s.ObjectLiteral)
|
|
1020
|
+
r.type = o.WORD;
|
|
1021
|
+
else if (r.text === "import" && l(this._tokens.peek().text, ["(", "."]))
|
|
1022
|
+
r.type = o.WORD;
|
|
1023
|
+
else if (l(r.text, ["as", "from"]) && !this._flags.import_block)
|
|
1024
|
+
r.type = o.WORD;
|
|
1025
|
+
else if (this._flags.mode === s.ObjectLiteral) {
|
|
1026
|
+
var D = this._tokens.peek();
|
|
1027
|
+
D.text === ":" && (r.type = o.WORD);
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
if (this.start_of_statement(r) ? E(this._flags.last_token, ["var", "let", "const"]) && r.type === o.WORD && (this._flags.declaration_statement = !0) : r.newlines && !O(this._flags.mode) && (this._flags.last_token.type !== o.OPERATOR || this._flags.last_token.text === "--" || this._flags.last_token.text === "++") && this._flags.last_token.type !== o.EQUALS && (this._options.preserve_newlines || !E(this._flags.last_token, ["var", "let", "const", "set", "get"])) ? (this.handle_whitespace_and_comments(r), this.print_newline()) : this.handle_whitespace_and_comments(r), this._flags.do_block && !this._flags.do_while)
|
|
1031
|
+
if (g(r, "while")) {
|
|
1032
|
+
this._output.space_before_token = !0, this.print_token(r), this._output.space_before_token = !0, this._flags.do_while = !0;
|
|
1033
|
+
return;
|
|
1034
|
+
} else
|
|
1035
|
+
this.print_newline(), this._flags.do_block = !1;
|
|
1036
|
+
if (this._flags.if_block)
|
|
1037
|
+
if (!this._flags.else_block && g(r, "else"))
|
|
1038
|
+
this._flags.else_block = !0;
|
|
1039
|
+
else {
|
|
1040
|
+
for (; this._flags.mode === s.Statement; )
|
|
1041
|
+
this.restore_mode();
|
|
1042
|
+
this._flags.if_block = !1, this._flags.else_block = !1;
|
|
1043
|
+
}
|
|
1044
|
+
if (this._flags.in_case_statement && E(r, ["case", "default"])) {
|
|
1045
|
+
this.print_newline(), !this._flags.case_block && (this._flags.case_body || this._options.jslint_happy) && this.deindent(), this._flags.case_body = !1, this.print_token(r), this._flags.in_case = !0;
|
|
1046
|
+
return;
|
|
1047
|
+
}
|
|
1048
|
+
if ((this._flags.last_token.type === o.COMMA || this._flags.last_token.type === o.START_EXPR || this._flags.last_token.type === o.EQUALS || this._flags.last_token.type === o.OPERATOR) && !this.start_of_object_property() && !// start of object property is different for numeric values with +/- prefix operators
|
|
1049
|
+
(l(this._flags.last_token.text, ["+", "-"]) && this._last_last_text === ":" && this._flags.parent.mode === s.ObjectLiteral) && this.allow_wrap_or_preserved_newline(r), g(r, "function")) {
|
|
1050
|
+
(l(this._flags.last_token.text, ["}", ";"]) || this._output.just_added_newline() && !(l(this._flags.last_token.text, ["(", "[", "{", ":", "=", ","]) || this._flags.last_token.type === o.OPERATOR)) && !this._output.just_added_blankline() && !r.comments_before && (this.print_newline(), this.print_newline(!0)), this._flags.last_token.type === o.RESERVED || this._flags.last_token.type === o.WORD ? E(this._flags.last_token, ["get", "set", "new", "export"]) || E(this._flags.last_token, C) ? this._output.space_before_token = !0 : g(this._flags.last_token, "default") && this._last_last_text === "export" ? this._output.space_before_token = !0 : this._flags.last_token.text === "declare" ? this._output.space_before_token = !0 : this.print_newline() : this._flags.last_token.type === o.OPERATOR || this._flags.last_token.text === "=" ? this._output.space_before_token = !0 : !this._flags.multiline_frame && (O(this._flags.mode) || y(this._flags.mode)) || this.print_newline(), this.print_token(r), this._flags.last_word = r.text;
|
|
1051
|
+
return;
|
|
1052
|
+
}
|
|
1053
|
+
var A = "NONE";
|
|
1054
|
+
if (this._flags.last_token.type === o.END_BLOCK ? this._previous_flags.inline_frame ? A = "SPACE" : E(r, ["else", "catch", "finally", "from"]) ? this._options.brace_style === "expand" || this._options.brace_style === "end-expand" || this._options.brace_style === "none" && r.newlines ? A = "NEWLINE" : (A = "SPACE", this._output.space_before_token = !0) : A = "NEWLINE" : this._flags.last_token.type === o.SEMICOLON && this._flags.mode === s.BlockStatement ? A = "NEWLINE" : this._flags.last_token.type === o.SEMICOLON && O(this._flags.mode) ? A = "SPACE" : this._flags.last_token.type === o.STRING ? A = "NEWLINE" : this._flags.last_token.type === o.RESERVED || this._flags.last_token.type === o.WORD || this._flags.last_token.text === "*" && (l(this._last_last_text, ["function", "yield"]) || this._flags.mode === s.ObjectLiteral && l(this._last_last_text, ["{", ","])) ? A = "SPACE" : this._flags.last_token.type === o.START_BLOCK ? this._flags.inline_frame ? A = "SPACE" : A = "NEWLINE" : this._flags.last_token.type === o.END_EXPR && (this._output.space_before_token = !0, A = "NEWLINE"), E(r, n) && this._flags.last_token.text !== ")" && (this._flags.inline_frame || this._flags.last_token.text === "else" || this._flags.last_token.text === "export" ? A = "SPACE" : A = "NEWLINE"), E(r, ["else", "catch", "finally"]))
|
|
1055
|
+
if ((!(this._flags.last_token.type === o.END_BLOCK && this._previous_flags.mode === s.BlockStatement) || this._options.brace_style === "expand" || this._options.brace_style === "end-expand" || this._options.brace_style === "none" && r.newlines) && !this._flags.inline_frame)
|
|
1056
|
+
this.print_newline();
|
|
1057
|
+
else {
|
|
1058
|
+
this._output.trim(!0);
|
|
1059
|
+
var w = this._output.current_line;
|
|
1060
|
+
w.last() !== "}" && this.print_newline(), this._output.space_before_token = !0;
|
|
1061
|
+
}
|
|
1062
|
+
else A === "NEWLINE" ? E(this._flags.last_token, R) ? this._output.space_before_token = !0 : this._flags.last_token.text === "declare" && E(r, ["var", "let", "const"]) ? this._output.space_before_token = !0 : this._flags.last_token.type !== o.END_EXPR ? (this._flags.last_token.type !== o.START_EXPR || !E(r, ["var", "let", "const"])) && this._flags.last_token.text !== ":" && (g(r, "if") && g(r.previous, "else") ? this._output.space_before_token = !0 : this.print_newline()) : E(r, n) && this._flags.last_token.text !== ")" && this.print_newline() : this._flags.multiline_frame && y(this._flags.mode) && this._flags.last_token.text === "," && this._last_last_text === "}" ? this.print_newline() : A === "SPACE" && (this._output.space_before_token = !0);
|
|
1063
|
+
r.previous && (r.previous.type === o.WORD || r.previous.type === o.RESERVED) && (this._output.space_before_token = !0), this.print_token(r), this._flags.last_word = r.text, r.type === o.RESERVED && (r.text === "do" ? this._flags.do_block = !0 : r.text === "if" ? this._flags.if_block = !0 : r.text === "import" ? this._flags.import_block = !0 : this._flags.import_block && g(r, "from") && (this._flags.import_block = !1));
|
|
1064
|
+
}, f.prototype.handle_semicolon = function(r) {
|
|
1065
|
+
this.start_of_statement(r) ? this._output.space_before_token = !1 : this.handle_whitespace_and_comments(r);
|
|
1066
|
+
for (var D = this._tokens.peek(); this._flags.mode === s.Statement && !(this._flags.if_block && g(D, "else")) && !this._flags.do_block; )
|
|
1067
|
+
this.restore_mode();
|
|
1068
|
+
this._flags.import_block && (this._flags.import_block = !1), this.print_token(r);
|
|
1069
|
+
}, f.prototype.handle_string = function(r) {
|
|
1070
|
+
r.text.startsWith("`") && r.newlines === 0 && r.whitespace_before === "" && (r.previous.text === ")" || this._flags.last_token.type === o.WORD) || (this.start_of_statement(r) ? this._output.space_before_token = !0 : (this.handle_whitespace_and_comments(r), this._flags.last_token.type === o.RESERVED || this._flags.last_token.type === o.WORD || this._flags.inline_frame ? this._output.space_before_token = !0 : this._flags.last_token.type === o.COMMA || this._flags.last_token.type === o.START_EXPR || this._flags.last_token.type === o.EQUALS || this._flags.last_token.type === o.OPERATOR ? this.start_of_object_property() || this.allow_wrap_or_preserved_newline(r) : r.text.startsWith("`") && this._flags.last_token.type === o.END_EXPR && (r.previous.text === "]" || r.previous.text === ")") && r.newlines === 0 ? this._output.space_before_token = !0 : this.print_newline())), this.print_token(r);
|
|
1071
|
+
}, f.prototype.handle_equals = function(r) {
|
|
1072
|
+
this.start_of_statement(r) || this.handle_whitespace_and_comments(r), this._flags.declaration_statement && (this._flags.declaration_assignment = !0), this._output.space_before_token = !0, this.print_token(r), this._output.space_before_token = !0;
|
|
1073
|
+
}, f.prototype.handle_comma = function(r) {
|
|
1074
|
+
this.handle_whitespace_and_comments(r, !0), this.print_token(r), this._output.space_before_token = !0, this._flags.declaration_statement ? (O(this._flags.parent.mode) && (this._flags.declaration_assignment = !1), this._flags.declaration_assignment ? (this._flags.declaration_assignment = !1, this.print_newline(!1, !0)) : this._options.comma_first && this.allow_wrap_or_preserved_newline(r)) : this._flags.mode === s.ObjectLiteral || this._flags.mode === s.Statement && this._flags.parent.mode === s.ObjectLiteral ? (this._flags.mode === s.Statement && this.restore_mode(), this._flags.inline_frame || this.print_newline()) : this._options.comma_first && this.allow_wrap_or_preserved_newline(r);
|
|
1075
|
+
}, f.prototype.handle_operator = function(r) {
|
|
1076
|
+
var D = r.text === "*" && (E(this._flags.last_token, ["function", "yield"]) || l(this._flags.last_token.type, [o.START_BLOCK, o.COMMA, o.END_BLOCK, o.SEMICOLON])), A = l(r.text, ["-", "+"]) && (l(this._flags.last_token.type, [o.START_BLOCK, o.START_EXPR, o.EQUALS, o.OPERATOR]) || l(this._flags.last_token.text, n) || this._flags.last_token.text === ",");
|
|
1077
|
+
if (!this.start_of_statement(r)) {
|
|
1078
|
+
var w = !D;
|
|
1079
|
+
this.handle_whitespace_and_comments(r, w);
|
|
1080
|
+
}
|
|
1081
|
+
if (r.text === "*" && this._flags.last_token.type === o.DOT) {
|
|
1082
|
+
this.print_token(r);
|
|
1083
|
+
return;
|
|
1084
|
+
}
|
|
1085
|
+
if (r.text === "::") {
|
|
1086
|
+
this.print_token(r);
|
|
1087
|
+
return;
|
|
1088
|
+
}
|
|
1089
|
+
if (l(r.text, ["-", "+"]) && this.start_of_object_property()) {
|
|
1090
|
+
this.print_token(r);
|
|
1091
|
+
return;
|
|
1092
|
+
}
|
|
1093
|
+
if (this._flags.last_token.type === o.OPERATOR && l(this._options.operator_position, _) && this.allow_wrap_or_preserved_newline(r), r.text === ":" && this._flags.in_case) {
|
|
1094
|
+
this.print_token(r), this._flags.in_case = !1, this._flags.case_body = !0, this._tokens.peek().type !== o.START_BLOCK ? (this.indent(), this.print_newline(), this._flags.case_block = !1) : (this._flags.case_block = !0, this._output.space_before_token = !0);
|
|
1095
|
+
return;
|
|
1096
|
+
}
|
|
1097
|
+
var k = !0, L = !0, U = !1;
|
|
1098
|
+
if (r.text === ":" ? this._flags.ternary_depth === 0 ? k = !1 : (this._flags.ternary_depth -= 1, U = !0) : r.text === "?" && (this._flags.ternary_depth += 1), !A && !D && this._options.preserve_newlines && l(r.text, c)) {
|
|
1099
|
+
var W = r.text === ":", J = W && U, B = W && !U;
|
|
1100
|
+
switch (this._options.operator_position) {
|
|
1101
|
+
case N.before_newline:
|
|
1102
|
+
this._output.space_before_token = !B, this.print_token(r), (!W || J) && this.allow_wrap_or_preserved_newline(r), this._output.space_before_token = !0;
|
|
1103
|
+
return;
|
|
1104
|
+
case N.after_newline:
|
|
1105
|
+
this._output.space_before_token = !0, !W || J ? this._tokens.peek().newlines ? this.print_newline(!1, !0) : this.allow_wrap_or_preserved_newline(r) : this._output.space_before_token = !1, this.print_token(r), this._output.space_before_token = !0;
|
|
1106
|
+
return;
|
|
1107
|
+
case N.preserve_newline:
|
|
1108
|
+
B || this.allow_wrap_or_preserved_newline(r), k = !(this._output.just_added_newline() || B), this._output.space_before_token = k, this.print_token(r), this._output.space_before_token = !0;
|
|
1109
|
+
return;
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
if (D) {
|
|
1113
|
+
this.allow_wrap_or_preserved_newline(r), k = !1;
|
|
1114
|
+
var S = this._tokens.peek();
|
|
1115
|
+
L = S && l(S.type, [o.WORD, o.RESERVED]);
|
|
1116
|
+
} else if (r.text === "...")
|
|
1117
|
+
this.allow_wrap_or_preserved_newline(r), k = this._flags.last_token.type === o.START_BLOCK, L = !1;
|
|
1118
|
+
else if (l(r.text, ["--", "++", "!", "~"]) || A) {
|
|
1119
|
+
if ((this._flags.last_token.type === o.COMMA || this._flags.last_token.type === o.START_EXPR) && this.allow_wrap_or_preserved_newline(r), k = !1, L = !1, r.newlines && (r.text === "--" || r.text === "++" || r.text === "~")) {
|
|
1120
|
+
var P = E(this._flags.last_token, R) && r.newlines;
|
|
1121
|
+
P && (this._previous_flags.if_block || this._previous_flags.else_block) && this.restore_mode(), this.print_newline(P, !0);
|
|
1122
|
+
}
|
|
1123
|
+
this._flags.last_token.text === ";" && O(this._flags.mode) && (k = !0), this._flags.last_token.type === o.RESERVED ? k = !0 : this._flags.last_token.type === o.END_EXPR ? k = !(this._flags.last_token.text === "]" && (r.text === "--" || r.text === "++")) : this._flags.last_token.type === o.OPERATOR && (k = l(r.text, ["--", "-", "++", "+"]) && l(this._flags.last_token.text, ["--", "-", "++", "+"]), l(r.text, ["+", "-"]) && l(this._flags.last_token.text, ["--", "++"]) && (L = !0)), (this._flags.mode === s.BlockStatement && !this._flags.inline_frame || this._flags.mode === s.Statement) && (this._flags.last_token.text === "{" || this._flags.last_token.text === ";") && this.print_newline();
|
|
1124
|
+
}
|
|
1125
|
+
this._output.space_before_token = this._output.space_before_token || k, this.print_token(r), this._output.space_before_token = L;
|
|
1126
|
+
}, f.prototype.handle_block_comment = function(r, D) {
|
|
1127
|
+
if (this._output.raw) {
|
|
1128
|
+
this._output.add_raw_token(r), r.directives && r.directives.preserve === "end" && (this._output.raw = this._options.test_output_raw);
|
|
1129
|
+
return;
|
|
1130
|
+
}
|
|
1131
|
+
if (r.directives) {
|
|
1132
|
+
this.print_newline(!1, D), this.print_token(r), r.directives.preserve === "start" && (this._output.raw = !0), this.print_newline(!1, !0);
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1135
|
+
if (!i.newline.test(r.text) && !r.newlines) {
|
|
1136
|
+
this._output.space_before_token = !0, this.print_token(r), this._output.space_before_token = !0;
|
|
1137
|
+
return;
|
|
1138
|
+
} else
|
|
1139
|
+
this.print_block_commment(r, D);
|
|
1140
|
+
}, f.prototype.print_block_commment = function(r, D) {
|
|
1141
|
+
var A = T(r.text), w, k = !1, L = !1, U = r.whitespace_before, W = U.length;
|
|
1142
|
+
if (this.print_newline(!1, D), this.print_token_line_indentation(r), this._output.add_token(A[0]), this.print_newline(!1, D), A.length > 1) {
|
|
1143
|
+
for (A = A.slice(1), k = m(A, "*"), L = v(A, U), k && (this._flags.alignment = 1), w = 0; w < A.length; w++)
|
|
1144
|
+
k ? (this.print_token_line_indentation(r), this._output.add_token(b(A[w]))) : L && A[w] ? (this.print_token_line_indentation(r), this._output.add_token(A[w].substring(W))) : (this._output.current_line.set_indent(-1), this._output.add_token(A[w])), this.print_newline(!1, D);
|
|
1145
|
+
this._flags.alignment = 0;
|
|
1146
|
+
}
|
|
1147
|
+
}, f.prototype.handle_comment = function(r, D) {
|
|
1148
|
+
r.newlines ? this.print_newline(!1, D) : this._output.trim(!0), this._output.space_before_token = !0, this.print_token(r), this.print_newline(!1, D);
|
|
1149
|
+
}, f.prototype.handle_dot = function(r) {
|
|
1150
|
+
this.start_of_statement(r) || this.handle_whitespace_and_comments(r, !0), this._flags.last_token.text.match("^[0-9]+$") && (this._output.space_before_token = !0), E(this._flags.last_token, R) ? this._output.space_before_token = !1 : this.allow_wrap_or_preserved_newline(
|
|
1151
|
+
r,
|
|
1152
|
+
this._flags.last_token.text === ")" && this._options.break_chained_methods
|
|
1153
|
+
), this._options.unindent_chained_methods && this._output.just_added_newline() && this.deindent(), this.print_token(r);
|
|
1154
|
+
}, f.prototype.handle_unknown = function(r, D) {
|
|
1155
|
+
this.print_token(r), r.text[r.text.length - 1] === `
|
|
1156
|
+
` && this.print_newline(!1, D);
|
|
1157
|
+
}, f.prototype.handle_eof = function(r) {
|
|
1158
|
+
for (; this._flags.mode === s.Statement; )
|
|
1159
|
+
this.restore_mode();
|
|
1160
|
+
this.handle_whitespace_and_comments(r);
|
|
1161
|
+
}, Re.Beautifier = f, Re;
|
|
1162
|
+
}
|
|
1163
|
+
var wt;
|
|
1164
|
+
function yu() {
|
|
1165
|
+
if (wt) return Ae.exports;
|
|
1166
|
+
wt = 1;
|
|
1167
|
+
var e = Eu().Beautifier, u = Vt().Options;
|
|
1168
|
+
function i(t, a) {
|
|
1169
|
+
var n = new e(t, a);
|
|
1170
|
+
return n.beautify();
|
|
1171
|
+
}
|
|
1172
|
+
return Ae.exports = i, Ae.exports.defaultOptions = function() {
|
|
1173
|
+
return new u();
|
|
1174
|
+
}, Ae.exports;
|
|
1175
|
+
}
|
|
1176
|
+
var ye = { exports: {} }, Ge = {}, ze = {}, Bt;
|
|
1177
|
+
function Gt() {
|
|
1178
|
+
if (Bt) return ze;
|
|
1179
|
+
Bt = 1;
|
|
1180
|
+
var e = rt().Options;
|
|
1181
|
+
function u(i) {
|
|
1182
|
+
e.call(this, i, "css"), this.selector_separator_newline = this._get_boolean("selector_separator_newline", !0), this.newline_between_rules = this._get_boolean("newline_between_rules", !0);
|
|
1183
|
+
var t = this._get_boolean("space_around_selector_separator");
|
|
1184
|
+
this.space_around_combinator = this._get_boolean("space_around_combinator") || t;
|
|
1185
|
+
var a = this._get_selection_list("brace_style", ["collapse", "expand", "end-expand", "none", "preserve-inline"]);
|
|
1186
|
+
this.brace_style = "collapse";
|
|
1187
|
+
for (var n = 0; n < a.length; n++)
|
|
1188
|
+
a[n] !== "expand" ? this.brace_style = "collapse" : this.brace_style = a[n];
|
|
1189
|
+
}
|
|
1190
|
+
return u.prototype = new e(), ze.Options = u, ze;
|
|
1191
|
+
}
|
|
1192
|
+
var Tt;
|
|
1193
|
+
function xu() {
|
|
1194
|
+
if (Tt) return Ge;
|
|
1195
|
+
Tt = 1;
|
|
1196
|
+
var e = Gt().Options, u = ut().Output, i = it().InputScanner, t = at().Directives, a = new t(/\/\*/, /\*\//), n = /\r\n|[\r\n]/, c = /\r\n|[\r\n]/g, o = /\s/, l = /(?:\s|\n)+/g, b = /\/\*(?:[\s\S]*?)((?:\*\/)|$)/g, d = /\/\/(?:[^\n\r\u2028\u2029]*)/g;
|
|
1197
|
+
function g(E, R) {
|
|
1198
|
+
this._source_text = E || "", this._options = new e(R), this._ch = null, this._input = null, this.NESTED_AT_RULE = {
|
|
1199
|
+
page: !0,
|
|
1200
|
+
"font-face": !0,
|
|
1201
|
+
keyframes: !0,
|
|
1202
|
+
// also in CONDITIONAL_GROUP_RULE below
|
|
1203
|
+
media: !0,
|
|
1204
|
+
supports: !0,
|
|
1205
|
+
document: !0
|
|
1206
|
+
}, this.CONDITIONAL_GROUP_RULE = {
|
|
1207
|
+
media: !0,
|
|
1208
|
+
supports: !0,
|
|
1209
|
+
document: !0
|
|
1210
|
+
}, this.NON_SEMICOLON_NEWLINE_PROPERTY = [
|
|
1211
|
+
"grid-template-areas",
|
|
1212
|
+
"grid-template"
|
|
1213
|
+
];
|
|
1214
|
+
}
|
|
1215
|
+
return g.prototype.eatString = function(E) {
|
|
1216
|
+
var R = "";
|
|
1217
|
+
for (this._ch = this._input.next(); this._ch; ) {
|
|
1218
|
+
if (R += this._ch, this._ch === "\\")
|
|
1219
|
+
R += this._input.next();
|
|
1220
|
+
else if (E.indexOf(this._ch) !== -1 || this._ch === `
|
|
1221
|
+
`)
|
|
1222
|
+
break;
|
|
1223
|
+
this._ch = this._input.next();
|
|
1224
|
+
}
|
|
1225
|
+
return R;
|
|
1226
|
+
}, g.prototype.eatWhitespace = function(E) {
|
|
1227
|
+
for (var R = o.test(this._input.peek()), q = 0; o.test(this._input.peek()); )
|
|
1228
|
+
this._ch = this._input.next(), E && this._ch === `
|
|
1229
|
+
` && (q === 0 || q < this._options.max_preserve_newlines) && (q++, this._output.add_new_line(!0));
|
|
1230
|
+
return R;
|
|
1231
|
+
}, g.prototype.foundNestedPseudoClass = function() {
|
|
1232
|
+
for (var E = 0, R = 1, q = this._input.peek(R); q; ) {
|
|
1233
|
+
if (q === "{")
|
|
1234
|
+
return !0;
|
|
1235
|
+
if (q === "(")
|
|
1236
|
+
E += 1;
|
|
1237
|
+
else if (q === ")") {
|
|
1238
|
+
if (E === 0)
|
|
1239
|
+
return !1;
|
|
1240
|
+
E -= 1;
|
|
1241
|
+
} else if (q === ";" || q === "}")
|
|
1242
|
+
return !1;
|
|
1243
|
+
R++, q = this._input.peek(R);
|
|
1244
|
+
}
|
|
1245
|
+
return !1;
|
|
1246
|
+
}, g.prototype.print_string = function(E) {
|
|
1247
|
+
this._output.set_indent(this._indentLevel), this._output.non_breaking_space = !0, this._output.add_token(E);
|
|
1248
|
+
}, g.prototype.preserveSingleSpace = function(E) {
|
|
1249
|
+
E && (this._output.space_before_token = !0);
|
|
1250
|
+
}, g.prototype.indent = function() {
|
|
1251
|
+
this._indentLevel++;
|
|
1252
|
+
}, g.prototype.outdent = function() {
|
|
1253
|
+
this._indentLevel > 0 && this._indentLevel--;
|
|
1254
|
+
}, g.prototype.beautify = function() {
|
|
1255
|
+
if (this._options.disabled)
|
|
1256
|
+
return this._source_text;
|
|
1257
|
+
var E = this._source_text, R = this._options.eol;
|
|
1258
|
+
R === "auto" && (R = `
|
|
1259
|
+
`, E && n.test(E || "") && (R = E.match(n)[0])), E = E.replace(c, `
|
|
1260
|
+
`);
|
|
1261
|
+
var q = E.match(/^[\t ]*/)[0];
|
|
1262
|
+
this._output = new u(this._options, q), this._input = new i(E), this._indentLevel = 0, this._nestedLevel = 0, this._ch = null;
|
|
1263
|
+
for (var N = 0, _ = !1, s = !1, h = !1, T = !1, y = !1, O = this._ch, m = !1, v, f, C; v = this._input.read(l), f = v !== "", C = O, this._ch = this._input.next(), this._ch === "\\" && this._input.hasNext() && (this._ch += this._input.next()), O = this._ch, this._ch; )
|
|
1264
|
+
if (this._ch === "/" && this._input.peek() === "*") {
|
|
1265
|
+
this._output.add_new_line(), this._input.back();
|
|
1266
|
+
var r = this._input.read(b), D = a.get_directives(r);
|
|
1267
|
+
D && D.ignore === "start" && (r += a.readIgnored(this._input)), this.print_string(r), this.eatWhitespace(!0), this._output.add_new_line();
|
|
1268
|
+
} else if (this._ch === "/" && this._input.peek() === "/")
|
|
1269
|
+
this._output.space_before_token = !0, this._input.back(), this.print_string(this._input.read(d)), this.eatWhitespace(!0);
|
|
1270
|
+
else if (this._ch === "$") {
|
|
1271
|
+
this.preserveSingleSpace(f), this.print_string(this._ch);
|
|
1272
|
+
var A = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);
|
|
1273
|
+
A.match(/[ :]$/) && (A = this.eatString(": ").replace(/\s+$/, ""), this.print_string(A), this._output.space_before_token = !0), N === 0 && A.indexOf(":") !== -1 && (s = !0, this.indent());
|
|
1274
|
+
} else if (this._ch === "@")
|
|
1275
|
+
if (this.preserveSingleSpace(f), this._input.peek() === "{")
|
|
1276
|
+
this.print_string(this._ch + this.eatString("}"));
|
|
1277
|
+
else {
|
|
1278
|
+
this.print_string(this._ch);
|
|
1279
|
+
var w = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);
|
|
1280
|
+
w.match(/[ :]$/) && (w = this.eatString(": ").replace(/\s+$/, ""), this.print_string(w), this._output.space_before_token = !0), N === 0 && w.indexOf(":") !== -1 ? (s = !0, this.indent()) : w in this.NESTED_AT_RULE ? (this._nestedLevel += 1, w in this.CONDITIONAL_GROUP_RULE && (h = !0)) : N === 0 && !s && (T = !0);
|
|
1281
|
+
}
|
|
1282
|
+
else if (this._ch === "#" && this._input.peek() === "{")
|
|
1283
|
+
this.preserveSingleSpace(f), this.print_string(this._ch + this.eatString("}"));
|
|
1284
|
+
else if (this._ch === "{")
|
|
1285
|
+
s && (s = !1, this.outdent()), T = !1, h ? (h = !1, _ = this._indentLevel >= this._nestedLevel) : _ = this._indentLevel >= this._nestedLevel - 1, this._options.newline_between_rules && _ && this._output.previous_line && this._output.previous_line.item(-1) !== "{" && this._output.ensure_empty_line_above("/", ","), this._output.space_before_token = !0, this._options.brace_style === "expand" ? (this._output.add_new_line(), this.print_string(this._ch), this.indent(), this._output.set_indent(this._indentLevel)) : (C === "(" ? this._output.space_before_token = !1 : C !== "," && this.indent(), this.print_string(this._ch)), this.eatWhitespace(!0), this._output.add_new_line();
|
|
1286
|
+
else if (this._ch === "}")
|
|
1287
|
+
this.outdent(), this._output.add_new_line(), C === "{" && this._output.trim(!0), s && (this.outdent(), s = !1), this.print_string(this._ch), _ = !1, this._nestedLevel && this._nestedLevel--, this.eatWhitespace(!0), this._output.add_new_line(), this._options.newline_between_rules && !this._output.just_added_blankline() && this._input.peek() !== "}" && this._output.add_new_line(!0), this._input.peek() === ")" && (this._output.trim(!0), this._options.brace_style === "expand" && this._output.add_new_line(!0));
|
|
1288
|
+
else if (this._ch === ":") {
|
|
1289
|
+
for (var k = 0; k < this.NON_SEMICOLON_NEWLINE_PROPERTY.length; k++)
|
|
1290
|
+
if (this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[k])) {
|
|
1291
|
+
m = !0;
|
|
1292
|
+
break;
|
|
1293
|
+
}
|
|
1294
|
+
(_ || h) && !(this._input.lookBack("&") || this.foundNestedPseudoClass()) && !this._input.lookBack("(") && !T && N === 0 ? (this.print_string(":"), s || (s = !0, this._output.space_before_token = !0, this.eatWhitespace(!0), this.indent())) : (this._input.lookBack(" ") && (this._output.space_before_token = !0), this._input.peek() === ":" ? (this._ch = this._input.next(), this.print_string("::")) : this.print_string(":"));
|
|
1295
|
+
} else if (this._ch === '"' || this._ch === "'") {
|
|
1296
|
+
var L = C === '"' || C === "'";
|
|
1297
|
+
this.preserveSingleSpace(L || f), this.print_string(this._ch + this.eatString(this._ch)), this.eatWhitespace(!0);
|
|
1298
|
+
} else if (this._ch === ";")
|
|
1299
|
+
m = !1, N === 0 ? (s && (this.outdent(), s = !1), T = !1, this.print_string(this._ch), this.eatWhitespace(!0), this._input.peek() !== "/" && this._output.add_new_line()) : (this.print_string(this._ch), this.eatWhitespace(!0), this._output.space_before_token = !0);
|
|
1300
|
+
else if (this._ch === "(")
|
|
1301
|
+
if (this._input.lookBack("url"))
|
|
1302
|
+
this.print_string(this._ch), this.eatWhitespace(), N++, this.indent(), this._ch = this._input.next(), this._ch === ")" || this._ch === '"' || this._ch === "'" ? this._input.back() : this._ch && (this.print_string(this._ch + this.eatString(")")), N && (N--, this.outdent()));
|
|
1303
|
+
else {
|
|
1304
|
+
var U = !1;
|
|
1305
|
+
this._input.lookBack("with") && (U = !0), this.preserveSingleSpace(f || U), this.print_string(this._ch), s && C === "$" && this._options.selector_separator_newline ? (this._output.add_new_line(), y = !0) : (this.eatWhitespace(), N++, this.indent());
|
|
1306
|
+
}
|
|
1307
|
+
else if (this._ch === ")")
|
|
1308
|
+
N && (N--, this.outdent()), y && this._input.peek() === ";" && this._options.selector_separator_newline && (y = !1, this.outdent(), this._output.add_new_line()), this.print_string(this._ch);
|
|
1309
|
+
else if (this._ch === ",")
|
|
1310
|
+
this.print_string(this._ch), this.eatWhitespace(!0), this._options.selector_separator_newline && (!s || y) && N === 0 && !T ? this._output.add_new_line() : this._output.space_before_token = !0;
|
|
1311
|
+
else if ((this._ch === ">" || this._ch === "+" || this._ch === "~") && !s && N === 0)
|
|
1312
|
+
this._options.space_around_combinator ? (this._output.space_before_token = !0, this.print_string(this._ch), this._output.space_before_token = !0) : (this.print_string(this._ch), this.eatWhitespace(), this._ch && o.test(this._ch) && (this._ch = ""));
|
|
1313
|
+
else if (this._ch === "]")
|
|
1314
|
+
this.print_string(this._ch);
|
|
1315
|
+
else if (this._ch === "[")
|
|
1316
|
+
this.preserveSingleSpace(f), this.print_string(this._ch);
|
|
1317
|
+
else if (this._ch === "=")
|
|
1318
|
+
this.eatWhitespace(), this.print_string("="), o.test(this._ch) && (this._ch = "");
|
|
1319
|
+
else if (this._ch === "!" && !this._input.lookBack("\\"))
|
|
1320
|
+
this._output.space_before_token = !0, this.print_string(this._ch);
|
|
1321
|
+
else {
|
|
1322
|
+
var W = C === '"' || C === "'";
|
|
1323
|
+
this.preserveSingleSpace(W || f), this.print_string(this._ch), !this._output.just_added_newline() && this._input.peek() === `
|
|
1324
|
+
` && m && this._output.add_new_line();
|
|
1325
|
+
}
|
|
1326
|
+
var J = this._output.get_code(R);
|
|
1327
|
+
return J;
|
|
1328
|
+
}, Ge.Beautifier = g, Ge;
|
|
1329
|
+
}
|
|
1330
|
+
var Ft;
|
|
1331
|
+
function Cu() {
|
|
1332
|
+
if (Ft) return ye.exports;
|
|
1333
|
+
Ft = 1;
|
|
1334
|
+
var e = xu().Beautifier, u = Gt().Options;
|
|
1335
|
+
function i(t, a) {
|
|
1336
|
+
var n = new e(t, a);
|
|
1337
|
+
return n.beautify();
|
|
1338
|
+
}
|
|
1339
|
+
return ye.exports = i, ye.exports.defaultOptions = function() {
|
|
1340
|
+
return new u();
|
|
1341
|
+
}, ye.exports;
|
|
1342
|
+
}
|
|
1343
|
+
var xe = { exports: {} }, $e = {}, He = {}, Ot;
|
|
1344
|
+
function zt() {
|
|
1345
|
+
if (Ot) return He;
|
|
1346
|
+
Ot = 1;
|
|
1347
|
+
var e = rt().Options;
|
|
1348
|
+
function u(i) {
|
|
1349
|
+
e.call(this, i, "html"), this.templating.length === 1 && this.templating[0] === "auto" && (this.templating = ["django", "erb", "handlebars", "php"]), this.indent_inner_html = this._get_boolean("indent_inner_html"), this.indent_body_inner_html = this._get_boolean("indent_body_inner_html", !0), this.indent_head_inner_html = this._get_boolean("indent_head_inner_html", !0), this.indent_handlebars = this._get_boolean("indent_handlebars", !0), this.wrap_attributes = this._get_selection(
|
|
1350
|
+
"wrap_attributes",
|
|
1351
|
+
["auto", "force", "force-aligned", "force-expand-multiline", "aligned-multiple", "preserve", "preserve-aligned"]
|
|
1352
|
+
), this.wrap_attributes_min_attrs = this._get_number("wrap_attributes_min_attrs", 2), this.wrap_attributes_indent_size = this._get_number("wrap_attributes_indent_size", this.indent_size), this.extra_liners = this._get_array("extra_liners", ["head", "body", "/html"]), this.inline = this._get_array("inline", [
|
|
1353
|
+
"a",
|
|
1354
|
+
"abbr",
|
|
1355
|
+
"area",
|
|
1356
|
+
"audio",
|
|
1357
|
+
"b",
|
|
1358
|
+
"bdi",
|
|
1359
|
+
"bdo",
|
|
1360
|
+
"br",
|
|
1361
|
+
"button",
|
|
1362
|
+
"canvas",
|
|
1363
|
+
"cite",
|
|
1364
|
+
"code",
|
|
1365
|
+
"data",
|
|
1366
|
+
"datalist",
|
|
1367
|
+
"del",
|
|
1368
|
+
"dfn",
|
|
1369
|
+
"em",
|
|
1370
|
+
"embed",
|
|
1371
|
+
"i",
|
|
1372
|
+
"iframe",
|
|
1373
|
+
"img",
|
|
1374
|
+
"input",
|
|
1375
|
+
"ins",
|
|
1376
|
+
"kbd",
|
|
1377
|
+
"keygen",
|
|
1378
|
+
"label",
|
|
1379
|
+
"map",
|
|
1380
|
+
"mark",
|
|
1381
|
+
"math",
|
|
1382
|
+
"meter",
|
|
1383
|
+
"noscript",
|
|
1384
|
+
"object",
|
|
1385
|
+
"output",
|
|
1386
|
+
"progress",
|
|
1387
|
+
"q",
|
|
1388
|
+
"ruby",
|
|
1389
|
+
"s",
|
|
1390
|
+
"samp",
|
|
1391
|
+
/* 'script', */
|
|
1392
|
+
"select",
|
|
1393
|
+
"small",
|
|
1394
|
+
"span",
|
|
1395
|
+
"strong",
|
|
1396
|
+
"sub",
|
|
1397
|
+
"sup",
|
|
1398
|
+
"svg",
|
|
1399
|
+
"template",
|
|
1400
|
+
"textarea",
|
|
1401
|
+
"time",
|
|
1402
|
+
"u",
|
|
1403
|
+
"var",
|
|
1404
|
+
"video",
|
|
1405
|
+
"wbr",
|
|
1406
|
+
"text",
|
|
1407
|
+
// obsolete inline tags
|
|
1408
|
+
"acronym",
|
|
1409
|
+
"big",
|
|
1410
|
+
"strike",
|
|
1411
|
+
"tt"
|
|
1412
|
+
]), this.inline_custom_elements = this._get_boolean("inline_custom_elements", !0), this.void_elements = this._get_array("void_elements", [
|
|
1413
|
+
// HTLM void elements - aka self-closing tags - aka singletons
|
|
1414
|
+
// https://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements
|
|
1415
|
+
"area",
|
|
1416
|
+
"base",
|
|
1417
|
+
"br",
|
|
1418
|
+
"col",
|
|
1419
|
+
"embed",
|
|
1420
|
+
"hr",
|
|
1421
|
+
"img",
|
|
1422
|
+
"input",
|
|
1423
|
+
"keygen",
|
|
1424
|
+
"link",
|
|
1425
|
+
"menuitem",
|
|
1426
|
+
"meta",
|
|
1427
|
+
"param",
|
|
1428
|
+
"source",
|
|
1429
|
+
"track",
|
|
1430
|
+
"wbr",
|
|
1431
|
+
// NOTE: Optional tags are too complex for a simple list
|
|
1432
|
+
// they are hard coded in _do_optional_end_element
|
|
1433
|
+
// Doctype and xml elements
|
|
1434
|
+
"!doctype",
|
|
1435
|
+
"?xml",
|
|
1436
|
+
// obsolete tags
|
|
1437
|
+
// basefont: https://www.computerhope.com/jargon/h/html-basefont-tag.htm
|
|
1438
|
+
// isndex: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/isindex
|
|
1439
|
+
"basefont",
|
|
1440
|
+
"isindex"
|
|
1441
|
+
]), this.unformatted = this._get_array("unformatted", []), this.content_unformatted = this._get_array("content_unformatted", [
|
|
1442
|
+
"pre",
|
|
1443
|
+
"textarea"
|
|
1444
|
+
]), this.unformatted_content_delimiter = this._get_characters("unformatted_content_delimiter"), this.indent_scripts = this._get_selection("indent_scripts", ["normal", "keep", "separate"]);
|
|
1445
|
+
}
|
|
1446
|
+
return u.prototype = new e(), He.Options = u, He;
|
|
1447
|
+
}
|
|
1448
|
+
var Ce = {}, kt;
|
|
1449
|
+
function Rt() {
|
|
1450
|
+
if (kt) return Ce;
|
|
1451
|
+
kt = 1;
|
|
1452
|
+
var e = Be().Tokenizer, u = Be().TOKEN, i = at().Directives, t = Mt().TemplatablePattern, a = Te().Pattern, n = {
|
|
1453
|
+
TAG_OPEN: "TK_TAG_OPEN",
|
|
1454
|
+
TAG_CLOSE: "TK_TAG_CLOSE",
|
|
1455
|
+
CONTROL_FLOW_OPEN: "TK_CONTROL_FLOW_OPEN",
|
|
1456
|
+
CONTROL_FLOW_CLOSE: "TK_CONTROL_FLOW_CLOSE",
|
|
1457
|
+
ATTRIBUTE: "TK_ATTRIBUTE",
|
|
1458
|
+
EQUALS: "TK_EQUALS",
|
|
1459
|
+
VALUE: "TK_VALUE",
|
|
1460
|
+
COMMENT: "TK_COMMENT",
|
|
1461
|
+
TEXT: "TK_TEXT",
|
|
1462
|
+
UNKNOWN: "TK_UNKNOWN",
|
|
1463
|
+
START: u.START,
|
|
1464
|
+
RAW: u.RAW,
|
|
1465
|
+
EOF: u.EOF
|
|
1466
|
+
}, c = new i(/<\!--/, /-->/), o = function(l, b) {
|
|
1467
|
+
e.call(this, l, b), this._current_tag_name = "";
|
|
1468
|
+
var d = new t(this._input).read_options(this._options), g = new a(this._input);
|
|
1469
|
+
if (this.__patterns = {
|
|
1470
|
+
word: d.until(/[\n\r\t <]/),
|
|
1471
|
+
word_control_flow_close_excluded: d.until(/[\n\r\t <}]/),
|
|
1472
|
+
single_quote: d.until_after(/'/),
|
|
1473
|
+
double_quote: d.until_after(/"/),
|
|
1474
|
+
attribute: d.until(/[\n\r\t =>]|\/>/),
|
|
1475
|
+
element_name: d.until(/[\n\r\t >\/]/),
|
|
1476
|
+
angular_control_flow_start: g.matching(/\@[a-zA-Z]+[^({]*[({]/),
|
|
1477
|
+
handlebars_comment: g.starting_with(/{{!--/).until_after(/--}}/),
|
|
1478
|
+
handlebars: g.starting_with(/{{/).until_after(/}}/),
|
|
1479
|
+
handlebars_open: g.until(/[\n\r\t }]/),
|
|
1480
|
+
handlebars_raw_close: g.until(/}}/),
|
|
1481
|
+
comment: g.starting_with(/<!--/).until_after(/-->/),
|
|
1482
|
+
cdata: g.starting_with(/<!\[CDATA\[/).until_after(/]]>/),
|
|
1483
|
+
// https://en.wikipedia.org/wiki/Conditional_comment
|
|
1484
|
+
conditional_comment: g.starting_with(/<!\[/).until_after(/]>/),
|
|
1485
|
+
processing: g.starting_with(/<\?/).until_after(/\?>/)
|
|
1486
|
+
}, this._options.indent_handlebars && (this.__patterns.word = this.__patterns.word.exclude("handlebars"), this.__patterns.word_control_flow_close_excluded = this.__patterns.word_control_flow_close_excluded.exclude("handlebars")), this._unformatted_content_delimiter = null, this._options.unformatted_content_delimiter) {
|
|
1487
|
+
var E = this._input.get_literal_regexp(this._options.unformatted_content_delimiter);
|
|
1488
|
+
this.__patterns.unformatted_content_delimiter = g.matching(E).until_after(E);
|
|
1489
|
+
}
|
|
1490
|
+
};
|
|
1491
|
+
return o.prototype = new e(), o.prototype._is_comment = function(l) {
|
|
1492
|
+
return !1;
|
|
1493
|
+
}, o.prototype._is_opening = function(l) {
|
|
1494
|
+
return l.type === n.TAG_OPEN || l.type === n.CONTROL_FLOW_OPEN;
|
|
1495
|
+
}, o.prototype._is_closing = function(l, b) {
|
|
1496
|
+
return l.type === n.TAG_CLOSE && b && ((l.text === ">" || l.text === "/>") && b.text[0] === "<" || l.text === "}}" && b.text[0] === "{" && b.text[1] === "{") || l.type === n.CONTROL_FLOW_CLOSE && l.text === "}" && b.text.endsWith("{");
|
|
1497
|
+
}, o.prototype._reset = function() {
|
|
1498
|
+
this._current_tag_name = "";
|
|
1499
|
+
}, o.prototype._get_next_token = function(l, b) {
|
|
1500
|
+
var d = null;
|
|
1501
|
+
this._readWhitespace();
|
|
1502
|
+
var g = this._input.peek();
|
|
1503
|
+
return g === null ? this._create_token(n.EOF, "") : (d = d || this._read_open_handlebars(g, b), d = d || this._read_attribute(g, l, b), d = d || this._read_close(g, b), d = d || this._read_script_and_style(g, l), d = d || this._read_control_flows(g, b), d = d || this._read_raw_content(g, l, b), d = d || this._read_content_word(g, b), d = d || this._read_comment_or_cdata(g), d = d || this._read_processing(g), d = d || this._read_open(g, b), d = d || this._create_token(n.UNKNOWN, this._input.next()), d);
|
|
1504
|
+
}, o.prototype._read_comment_or_cdata = function(l) {
|
|
1505
|
+
var b = null, d = null, g = null;
|
|
1506
|
+
if (l === "<") {
|
|
1507
|
+
var E = this._input.peek(1);
|
|
1508
|
+
E === "!" && (d = this.__patterns.comment.read(), d ? (g = c.get_directives(d), g && g.ignore === "start" && (d += c.readIgnored(this._input))) : d = this.__patterns.cdata.read()), d && (b = this._create_token(n.COMMENT, d), b.directives = g);
|
|
1509
|
+
}
|
|
1510
|
+
return b;
|
|
1511
|
+
}, o.prototype._read_processing = function(l) {
|
|
1512
|
+
var b = null, d = null, g = null;
|
|
1513
|
+
if (l === "<") {
|
|
1514
|
+
var E = this._input.peek(1);
|
|
1515
|
+
(E === "!" || E === "?") && (d = this.__patterns.conditional_comment.read(), d = d || this.__patterns.processing.read()), d && (b = this._create_token(n.COMMENT, d), b.directives = g);
|
|
1516
|
+
}
|
|
1517
|
+
return b;
|
|
1518
|
+
}, o.prototype._read_open = function(l, b) {
|
|
1519
|
+
var d = null, g = null;
|
|
1520
|
+
return (!b || b.type === n.CONTROL_FLOW_OPEN) && l === "<" && (d = this._input.next(), this._input.peek() === "/" && (d += this._input.next()), d += this.__patterns.element_name.read(), g = this._create_token(n.TAG_OPEN, d)), g;
|
|
1521
|
+
}, o.prototype._read_open_handlebars = function(l, b) {
|
|
1522
|
+
var d = null, g = null;
|
|
1523
|
+
return (!b || b.type === n.CONTROL_FLOW_OPEN) && (this._options.templating.includes("angular") || this._options.indent_handlebars) && l === "{" && this._input.peek(1) === "{" && (this._options.indent_handlebars && this._input.peek(2) === "!" ? (d = this.__patterns.handlebars_comment.read(), d = d || this.__patterns.handlebars.read(), g = this._create_token(n.COMMENT, d)) : (d = this.__patterns.handlebars_open.read(), g = this._create_token(n.TAG_OPEN, d))), g;
|
|
1524
|
+
}, o.prototype._read_control_flows = function(l, b) {
|
|
1525
|
+
var d = "", g = null;
|
|
1526
|
+
if (!this._options.templating.includes("angular"))
|
|
1527
|
+
return g;
|
|
1528
|
+
if (l === "@") {
|
|
1529
|
+
if (d = this.__patterns.angular_control_flow_start.read(), d === "")
|
|
1530
|
+
return g;
|
|
1531
|
+
for (var E = d.endsWith("(") ? 1 : 0, R = 0; !(d.endsWith("{") && E === R); ) {
|
|
1532
|
+
var q = this._input.next();
|
|
1533
|
+
if (q === null)
|
|
1534
|
+
break;
|
|
1535
|
+
q === "(" ? E++ : q === ")" && R++, d += q;
|
|
1536
|
+
}
|
|
1537
|
+
g = this._create_token(n.CONTROL_FLOW_OPEN, d);
|
|
1538
|
+
} else l === "}" && b && b.type === n.CONTROL_FLOW_OPEN && (d = this._input.next(), g = this._create_token(n.CONTROL_FLOW_CLOSE, d));
|
|
1539
|
+
return g;
|
|
1540
|
+
}, o.prototype._read_close = function(l, b) {
|
|
1541
|
+
var d = null, g = null;
|
|
1542
|
+
return b && b.type === n.TAG_OPEN && (b.text[0] === "<" && (l === ">" || l === "/" && this._input.peek(1) === ">") ? (d = this._input.next(), l === "/" && (d += this._input.next()), g = this._create_token(n.TAG_CLOSE, d)) : b.text[0] === "{" && l === "}" && this._input.peek(1) === "}" && (this._input.next(), this._input.next(), g = this._create_token(n.TAG_CLOSE, "}}"))), g;
|
|
1543
|
+
}, o.prototype._read_attribute = function(l, b, d) {
|
|
1544
|
+
var g = null, E = "";
|
|
1545
|
+
if (d && d.text[0] === "<")
|
|
1546
|
+
if (l === "=")
|
|
1547
|
+
g = this._create_token(n.EQUALS, this._input.next());
|
|
1548
|
+
else if (l === '"' || l === "'") {
|
|
1549
|
+
var R = this._input.next();
|
|
1550
|
+
l === '"' ? R += this.__patterns.double_quote.read() : R += this.__patterns.single_quote.read(), g = this._create_token(n.VALUE, R);
|
|
1551
|
+
} else
|
|
1552
|
+
E = this.__patterns.attribute.read(), E && (b.type === n.EQUALS ? g = this._create_token(n.VALUE, E) : g = this._create_token(n.ATTRIBUTE, E));
|
|
1553
|
+
return g;
|
|
1554
|
+
}, o.prototype._is_content_unformatted = function(l) {
|
|
1555
|
+
return this._options.void_elements.indexOf(l) === -1 && (this._options.content_unformatted.indexOf(l) !== -1 || this._options.unformatted.indexOf(l) !== -1);
|
|
1556
|
+
}, o.prototype._read_raw_content = function(l, b, d) {
|
|
1557
|
+
var g = "";
|
|
1558
|
+
if (d && d.text[0] === "{")
|
|
1559
|
+
g = this.__patterns.handlebars_raw_close.read();
|
|
1560
|
+
else if (b.type === n.TAG_CLOSE && b.opened.text[0] === "<" && b.text[0] !== "/") {
|
|
1561
|
+
var E = b.opened.text.substr(1).toLowerCase();
|
|
1562
|
+
this._is_content_unformatted(E) && (g = this._input.readUntil(new RegExp("</" + E + "[\\n\\r\\t ]*?>", "ig")));
|
|
1563
|
+
}
|
|
1564
|
+
return g ? this._create_token(n.TEXT, g) : null;
|
|
1565
|
+
}, o.prototype._read_script_and_style = function(l, b) {
|
|
1566
|
+
if (b.type === n.TAG_CLOSE && b.opened.text[0] === "<" && b.text[0] !== "/") {
|
|
1567
|
+
var d = b.opened.text.substr(1).toLowerCase();
|
|
1568
|
+
if (d === "script" || d === "style") {
|
|
1569
|
+
var g = this._read_comment_or_cdata(l);
|
|
1570
|
+
if (g)
|
|
1571
|
+
return g.type = n.TEXT, g;
|
|
1572
|
+
var E = this._input.readUntil(new RegExp("</" + d + "[\\n\\r\\t ]*?>", "ig"));
|
|
1573
|
+
if (E)
|
|
1574
|
+
return this._create_token(n.TEXT, E);
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
return null;
|
|
1578
|
+
}, o.prototype._read_content_word = function(l, b) {
|
|
1579
|
+
var d = "";
|
|
1580
|
+
return this._options.unformatted_content_delimiter && l === this._options.unformatted_content_delimiter[0] && (d = this.__patterns.unformatted_content_delimiter.read()), d || (d = b && b.type === n.CONTROL_FLOW_OPEN ? this.__patterns.word_control_flow_close_excluded.read() : this.__patterns.word.read()), d ? this._create_token(n.TEXT, d) : null;
|
|
1581
|
+
}, Ce.Tokenizer = o, Ce.TOKEN = n, Ce;
|
|
1582
|
+
}
|
|
1583
|
+
var qt;
|
|
1584
|
+
function wu() {
|
|
1585
|
+
if (qt) return $e;
|
|
1586
|
+
qt = 1;
|
|
1587
|
+
var e = zt().Options, u = ut().Output, i = Rt().Tokenizer, t = Rt().TOKEN, a = /\r\n|[\r\n]/, n = /\r\n|[\r\n]/g, c = function(_, s) {
|
|
1588
|
+
this.indent_level = 0, this.alignment_size = 0, this.max_preserve_newlines = _.max_preserve_newlines, this.preserve_newlines = _.preserve_newlines, this._output = new u(_, s);
|
|
1589
|
+
};
|
|
1590
|
+
c.prototype.current_line_has_match = function(_) {
|
|
1591
|
+
return this._output.current_line.has_match(_);
|
|
1592
|
+
}, c.prototype.set_space_before_token = function(_, s) {
|
|
1593
|
+
this._output.space_before_token = _, this._output.non_breaking_space = s;
|
|
1594
|
+
}, c.prototype.set_wrap_point = function() {
|
|
1595
|
+
this._output.set_indent(this.indent_level, this.alignment_size), this._output.set_wrap_point();
|
|
1596
|
+
}, c.prototype.add_raw_token = function(_) {
|
|
1597
|
+
this._output.add_raw_token(_);
|
|
1598
|
+
}, c.prototype.print_preserved_newlines = function(_) {
|
|
1599
|
+
var s = 0;
|
|
1600
|
+
_.type !== t.TEXT && _.previous.type !== t.TEXT && (s = _.newlines ? 1 : 0), this.preserve_newlines && (s = _.newlines < this.max_preserve_newlines + 1 ? _.newlines : this.max_preserve_newlines + 1);
|
|
1601
|
+
for (var h = 0; h < s; h++)
|
|
1602
|
+
this.print_newline(h > 0);
|
|
1603
|
+
return s !== 0;
|
|
1604
|
+
}, c.prototype.traverse_whitespace = function(_) {
|
|
1605
|
+
return _.whitespace_before || _.newlines ? (this.print_preserved_newlines(_) || (this._output.space_before_token = !0), !0) : !1;
|
|
1606
|
+
}, c.prototype.previous_token_wrapped = function() {
|
|
1607
|
+
return this._output.previous_token_wrapped;
|
|
1608
|
+
}, c.prototype.print_newline = function(_) {
|
|
1609
|
+
this._output.add_new_line(_);
|
|
1610
|
+
}, c.prototype.print_token = function(_) {
|
|
1611
|
+
_.text && (this._output.set_indent(this.indent_level, this.alignment_size), this._output.add_token(_.text));
|
|
1612
|
+
}, c.prototype.indent = function() {
|
|
1613
|
+
this.indent_level++;
|
|
1614
|
+
}, c.prototype.deindent = function() {
|
|
1615
|
+
this.indent_level > 0 && (this.indent_level--, this._output.set_indent(this.indent_level, this.alignment_size));
|
|
1616
|
+
}, c.prototype.get_full_indent = function(_) {
|
|
1617
|
+
return _ = this.indent_level + (_ || 0), _ < 1 ? "" : this._output.get_indent_string(_);
|
|
1618
|
+
};
|
|
1619
|
+
var o = function(_) {
|
|
1620
|
+
for (var s = null, h = _.next; h.type !== t.EOF && _.closed !== h; ) {
|
|
1621
|
+
if (h.type === t.ATTRIBUTE && h.text === "type") {
|
|
1622
|
+
h.next && h.next.type === t.EQUALS && h.next.next && h.next.next.type === t.VALUE && (s = h.next.next.text);
|
|
1623
|
+
break;
|
|
1624
|
+
}
|
|
1625
|
+
h = h.next;
|
|
1626
|
+
}
|
|
1627
|
+
return s;
|
|
1628
|
+
}, l = function(_, s) {
|
|
1629
|
+
var h = null, T = null;
|
|
1630
|
+
return s.closed ? (_ === "script" ? h = "text/javascript" : _ === "style" && (h = "text/css"), h = o(s) || h, h.search("text/css") > -1 ? T = "css" : h.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/) > -1 ? T = "javascript" : h.search(/(text|application|dojo)\/(x-)?(html)/) > -1 ? T = "html" : h.search(/test\/null/) > -1 && (T = "null"), T) : null;
|
|
1631
|
+
};
|
|
1632
|
+
function b(_, s) {
|
|
1633
|
+
return s.indexOf(_) !== -1;
|
|
1634
|
+
}
|
|
1635
|
+
function d(_, s, h) {
|
|
1636
|
+
this.parent = _ || null, this.tag = s ? s.tag_name : "", this.indent_level = h || 0, this.parser_token = s || null;
|
|
1637
|
+
}
|
|
1638
|
+
function g(_) {
|
|
1639
|
+
this._printer = _, this._current_frame = null;
|
|
1640
|
+
}
|
|
1641
|
+
g.prototype.get_parser_token = function() {
|
|
1642
|
+
return this._current_frame ? this._current_frame.parser_token : null;
|
|
1643
|
+
}, g.prototype.record_tag = function(_) {
|
|
1644
|
+
var s = new d(this._current_frame, _, this._printer.indent_level);
|
|
1645
|
+
this._current_frame = s;
|
|
1646
|
+
}, g.prototype._try_pop_frame = function(_) {
|
|
1647
|
+
var s = null;
|
|
1648
|
+
return _ && (s = _.parser_token, this._printer.indent_level = _.indent_level, this._current_frame = _.parent), s;
|
|
1649
|
+
}, g.prototype._get_frame = function(_, s) {
|
|
1650
|
+
for (var h = this._current_frame; h && _.indexOf(h.tag) === -1; ) {
|
|
1651
|
+
if (s && s.indexOf(h.tag) !== -1) {
|
|
1652
|
+
h = null;
|
|
1653
|
+
break;
|
|
1654
|
+
}
|
|
1655
|
+
h = h.parent;
|
|
1656
|
+
}
|
|
1657
|
+
return h;
|
|
1658
|
+
}, g.prototype.try_pop = function(_, s) {
|
|
1659
|
+
var h = this._get_frame([_], s);
|
|
1660
|
+
return this._try_pop_frame(h);
|
|
1661
|
+
}, g.prototype.indent_to_tag = function(_) {
|
|
1662
|
+
var s = this._get_frame(_);
|
|
1663
|
+
s && (this._printer.indent_level = s.indent_level);
|
|
1664
|
+
};
|
|
1665
|
+
function E(_, s, h, T) {
|
|
1666
|
+
this._source_text = _ || "", s = s || {}, this._js_beautify = h, this._css_beautify = T, this._tag_stack = null;
|
|
1667
|
+
var y = new e(s, "html");
|
|
1668
|
+
this._options = y, this._is_wrap_attributes_force = this._options.wrap_attributes.substr(0, 5) === "force", this._is_wrap_attributes_force_expand_multiline = this._options.wrap_attributes === "force-expand-multiline", this._is_wrap_attributes_force_aligned = this._options.wrap_attributes === "force-aligned", this._is_wrap_attributes_aligned_multiple = this._options.wrap_attributes === "aligned-multiple", this._is_wrap_attributes_preserve = this._options.wrap_attributes.substr(0, 8) === "preserve", this._is_wrap_attributes_preserve_aligned = this._options.wrap_attributes === "preserve-aligned";
|
|
1669
|
+
}
|
|
1670
|
+
E.prototype.beautify = function() {
|
|
1671
|
+
if (this._options.disabled)
|
|
1672
|
+
return this._source_text;
|
|
1673
|
+
var _ = this._source_text, s = this._options.eol;
|
|
1674
|
+
this._options.eol === "auto" && (s = `
|
|
1675
|
+
`, _ && a.test(_) && (s = _.match(a)[0])), _ = _.replace(n, `
|
|
1676
|
+
`);
|
|
1677
|
+
var h = _.match(/^[\t ]*/)[0], T = {
|
|
1678
|
+
text: "",
|
|
1679
|
+
type: ""
|
|
1680
|
+
}, y = new R(this._options), O = new c(this._options, h), m = new i(_, this._options).tokenize();
|
|
1681
|
+
this._tag_stack = new g(O);
|
|
1682
|
+
for (var v = null, f = m.next(); f.type !== t.EOF; )
|
|
1683
|
+
f.type === t.TAG_OPEN || f.type === t.COMMENT ? (v = this._handle_tag_open(O, f, y, T, m), y = v) : f.type === t.ATTRIBUTE || f.type === t.EQUALS || f.type === t.VALUE || f.type === t.TEXT && !y.tag_complete ? v = this._handle_inside_tag(O, f, y, T) : f.type === t.TAG_CLOSE ? v = this._handle_tag_close(O, f, y) : f.type === t.TEXT ? v = this._handle_text(O, f, y) : f.type === t.CONTROL_FLOW_OPEN ? v = this._handle_control_flow_open(O, f) : f.type === t.CONTROL_FLOW_CLOSE ? v = this._handle_control_flow_close(O, f) : O.add_raw_token(f), T = v, f = m.next();
|
|
1684
|
+
var C = O._output.get_code(s);
|
|
1685
|
+
return C;
|
|
1686
|
+
}, E.prototype._handle_control_flow_open = function(_, s) {
|
|
1687
|
+
var h = {
|
|
1688
|
+
text: s.text,
|
|
1689
|
+
type: s.type
|
|
1690
|
+
};
|
|
1691
|
+
return _.set_space_before_token(s.newlines || s.whitespace_before !== "", !0), s.newlines ? _.print_preserved_newlines(s) : _.set_space_before_token(s.newlines || s.whitespace_before !== "", !0), _.print_token(s), _.indent(), h;
|
|
1692
|
+
}, E.prototype._handle_control_flow_close = function(_, s) {
|
|
1693
|
+
var h = {
|
|
1694
|
+
text: s.text,
|
|
1695
|
+
type: s.type
|
|
1696
|
+
};
|
|
1697
|
+
return _.deindent(), s.newlines ? _.print_preserved_newlines(s) : _.set_space_before_token(s.newlines || s.whitespace_before !== "", !0), _.print_token(s), h;
|
|
1698
|
+
}, E.prototype._handle_tag_close = function(_, s, h) {
|
|
1699
|
+
var T = {
|
|
1700
|
+
text: s.text,
|
|
1701
|
+
type: s.type
|
|
1702
|
+
};
|
|
1703
|
+
return _.alignment_size = 0, h.tag_complete = !0, _.set_space_before_token(s.newlines || s.whitespace_before !== "", !0), h.is_unformatted ? _.add_raw_token(s) : (h.tag_start_char === "<" && (_.set_space_before_token(s.text[0] === "/", !0), this._is_wrap_attributes_force_expand_multiline && h.has_wrapped_attrs && _.print_newline(!1)), _.print_token(s)), h.indent_content && !(h.is_unformatted || h.is_content_unformatted) && (_.indent(), h.indent_content = !1), !h.is_inline_element && !(h.is_unformatted || h.is_content_unformatted) && _.set_wrap_point(), T;
|
|
1704
|
+
}, E.prototype._handle_inside_tag = function(_, s, h, T) {
|
|
1705
|
+
var y = h.has_wrapped_attrs, O = {
|
|
1706
|
+
text: s.text,
|
|
1707
|
+
type: s.type
|
|
1708
|
+
};
|
|
1709
|
+
return _.set_space_before_token(s.newlines || s.whitespace_before !== "", !0), h.is_unformatted ? _.add_raw_token(s) : h.tag_start_char === "{" && s.type === t.TEXT ? _.print_preserved_newlines(s) ? (s.newlines = 0, _.add_raw_token(s)) : _.print_token(s) : (s.type === t.ATTRIBUTE ? _.set_space_before_token(!0) : (s.type === t.EQUALS || s.type === t.VALUE && s.previous.type === t.EQUALS) && _.set_space_before_token(!1), s.type === t.ATTRIBUTE && h.tag_start_char === "<" && ((this._is_wrap_attributes_preserve || this._is_wrap_attributes_preserve_aligned) && (_.traverse_whitespace(s), y = y || s.newlines !== 0), this._is_wrap_attributes_force && h.attr_count >= this._options.wrap_attributes_min_attrs && (T.type !== t.TAG_OPEN || // ie. second attribute and beyond
|
|
1710
|
+
this._is_wrap_attributes_force_expand_multiline) && (_.print_newline(!1), y = !0)), _.print_token(s), y = y || _.previous_token_wrapped(), h.has_wrapped_attrs = y), O;
|
|
1711
|
+
}, E.prototype._handle_text = function(_, s, h) {
|
|
1712
|
+
var T = {
|
|
1713
|
+
text: s.text,
|
|
1714
|
+
type: "TK_CONTENT"
|
|
1715
|
+
};
|
|
1716
|
+
return h.custom_beautifier_name ? this._print_custom_beatifier_text(_, s, h) : h.is_unformatted || h.is_content_unformatted ? _.add_raw_token(s) : (_.traverse_whitespace(s), _.print_token(s)), T;
|
|
1717
|
+
}, E.prototype._print_custom_beatifier_text = function(_, s, h) {
|
|
1718
|
+
var T = this;
|
|
1719
|
+
if (s.text !== "") {
|
|
1720
|
+
var y = s.text, O, m = 1, v = "", f = "";
|
|
1721
|
+
h.custom_beautifier_name === "javascript" && typeof this._js_beautify == "function" ? O = this._js_beautify : h.custom_beautifier_name === "css" && typeof this._css_beautify == "function" ? O = this._css_beautify : h.custom_beautifier_name === "html" && (O = function(k, L) {
|
|
1722
|
+
var U = new E(k, L, T._js_beautify, T._css_beautify);
|
|
1723
|
+
return U.beautify();
|
|
1724
|
+
}), this._options.indent_scripts === "keep" ? m = 0 : this._options.indent_scripts === "separate" && (m = -_.indent_level);
|
|
1725
|
+
var C = _.get_full_indent(m);
|
|
1726
|
+
if (y = y.replace(/\n[ \t]*$/, ""), h.custom_beautifier_name !== "html" && y[0] === "<" && y.match(/^(<!--|<!\[CDATA\[)/)) {
|
|
1727
|
+
var r = /^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(y);
|
|
1728
|
+
if (!r) {
|
|
1729
|
+
_.add_raw_token(s);
|
|
1730
|
+
return;
|
|
1731
|
+
}
|
|
1732
|
+
v = C + r[1] + `
|
|
1733
|
+
`, y = r[4], r[5] && (f = C + r[5]), y = y.replace(/\n[ \t]*$/, ""), (r[2] || r[3].indexOf(`
|
|
1734
|
+
`) !== -1) && (r = r[3].match(/[ \t]+$/), r && (s.whitespace_before = r[0]));
|
|
1735
|
+
}
|
|
1736
|
+
if (y)
|
|
1737
|
+
if (O) {
|
|
1738
|
+
var D = function() {
|
|
1739
|
+
this.eol = `
|
|
1740
|
+
`;
|
|
1741
|
+
};
|
|
1742
|
+
D.prototype = this._options.raw_options;
|
|
1743
|
+
var A = new D();
|
|
1744
|
+
y = O(C + y, A);
|
|
1745
|
+
} else {
|
|
1746
|
+
var w = s.whitespace_before;
|
|
1747
|
+
w && (y = y.replace(new RegExp(`
|
|
1748
|
+
(` + w + ")?", "g"), `
|
|
1749
|
+
`)), y = C + y.replace(/\n/g, `
|
|
1750
|
+
` + C);
|
|
1751
|
+
}
|
|
1752
|
+
v && (y ? y = v + y + `
|
|
1753
|
+
` + f : y = v + f), _.print_newline(!1), y && (s.text = y, s.whitespace_before = "", s.newlines = 0, _.add_raw_token(s), _.print_newline(!0));
|
|
1754
|
+
}
|
|
1755
|
+
}, E.prototype._handle_tag_open = function(_, s, h, T, y) {
|
|
1756
|
+
var O = this._get_tag_open_token(s);
|
|
1757
|
+
if ((h.is_unformatted || h.is_content_unformatted) && !h.is_empty_element && s.type === t.TAG_OPEN && !O.is_start_tag ? (_.add_raw_token(s), O.start_tag_token = this._tag_stack.try_pop(O.tag_name)) : (_.traverse_whitespace(s), this._set_tag_position(_, s, O, h, T), O.is_inline_element || _.set_wrap_point(), _.print_token(s)), O.is_start_tag && this._is_wrap_attributes_force) {
|
|
1758
|
+
var m = 0, v;
|
|
1759
|
+
do
|
|
1760
|
+
v = y.peek(m), v.type === t.ATTRIBUTE && (O.attr_count += 1), m += 1;
|
|
1761
|
+
while (v.type !== t.EOF && v.type !== t.TAG_CLOSE);
|
|
1762
|
+
}
|
|
1763
|
+
return (this._is_wrap_attributes_force_aligned || this._is_wrap_attributes_aligned_multiple || this._is_wrap_attributes_preserve_aligned) && (O.alignment_size = s.text.length + 1), !O.tag_complete && !O.is_unformatted && (_.alignment_size = O.alignment_size), O;
|
|
1764
|
+
};
|
|
1765
|
+
var R = function(_, s, h) {
|
|
1766
|
+
if (this.parent = s || null, this.text = "", this.type = "TK_TAG_OPEN", this.tag_name = "", this.is_inline_element = !1, this.is_unformatted = !1, this.is_content_unformatted = !1, this.is_empty_element = !1, this.is_start_tag = !1, this.is_end_tag = !1, this.indent_content = !1, this.multiline_content = !1, this.custom_beautifier_name = null, this.start_tag_token = null, this.attr_count = 0, this.has_wrapped_attrs = !1, this.alignment_size = 0, this.tag_complete = !1, this.tag_start_char = "", this.tag_check = "", !h)
|
|
1767
|
+
this.tag_complete = !0;
|
|
1768
|
+
else {
|
|
1769
|
+
var T;
|
|
1770
|
+
this.tag_start_char = h.text[0], this.text = h.text, this.tag_start_char === "<" ? (T = h.text.match(/^<([^\s>]*)/), this.tag_check = T ? T[1] : "") : (T = h.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/), this.tag_check = T ? T[1] : "", (h.text.startsWith("{{#>") || h.text.startsWith("{{~#>")) && this.tag_check[0] === ">" && (this.tag_check === ">" && h.next !== null ? this.tag_check = h.next.text.split(" ")[0] : this.tag_check = h.text.split(">")[1])), this.tag_check = this.tag_check.toLowerCase(), h.type === t.COMMENT && (this.tag_complete = !0), this.is_start_tag = this.tag_check.charAt(0) !== "/", this.tag_name = this.is_start_tag ? this.tag_check : this.tag_check.substr(1), this.is_end_tag = !this.is_start_tag || h.closed && h.closed.text === "/>";
|
|
1771
|
+
var y = 2;
|
|
1772
|
+
this.tag_start_char === "{" && this.text.length >= 3 && this.text.charAt(2) === "~" && (y = 3), this.is_end_tag = this.is_end_tag || this.tag_start_char === "{" && (!_.indent_handlebars || this.text.length < 3 || /[^#\^]/.test(this.text.charAt(y)));
|
|
1773
|
+
}
|
|
1774
|
+
};
|
|
1775
|
+
E.prototype._get_tag_open_token = function(_) {
|
|
1776
|
+
var s = new R(this._options, this._tag_stack.get_parser_token(), _);
|
|
1777
|
+
return s.alignment_size = this._options.wrap_attributes_indent_size, s.is_end_tag = s.is_end_tag || b(s.tag_check, this._options.void_elements), s.is_empty_element = s.tag_complete || s.is_start_tag && s.is_end_tag, s.is_unformatted = !s.tag_complete && b(s.tag_check, this._options.unformatted), s.is_content_unformatted = !s.is_empty_element && b(s.tag_check, this._options.content_unformatted), s.is_inline_element = b(s.tag_name, this._options.inline) || this._options.inline_custom_elements && s.tag_name.includes("-") || s.tag_start_char === "{", s;
|
|
1778
|
+
}, E.prototype._set_tag_position = function(_, s, h, T, y) {
|
|
1779
|
+
if (h.is_empty_element || (h.is_end_tag ? h.start_tag_token = this._tag_stack.try_pop(h.tag_name) : (this._do_optional_end_element(h) && (h.is_inline_element || _.print_newline(!1)), this._tag_stack.record_tag(h), (h.tag_name === "script" || h.tag_name === "style") && !(h.is_unformatted || h.is_content_unformatted) && (h.custom_beautifier_name = l(h.tag_check, s)))), b(h.tag_check, this._options.extra_liners) && (_.print_newline(!1), _._output.just_added_blankline() || _.print_newline(!0)), h.is_empty_element) {
|
|
1780
|
+
if (h.tag_start_char === "{" && h.tag_check === "else") {
|
|
1781
|
+
this._tag_stack.indent_to_tag(["if", "unless", "each"]), h.indent_content = !0;
|
|
1782
|
+
var O = _.current_line_has_match(/{{#if/);
|
|
1783
|
+
O || _.print_newline(!1);
|
|
1784
|
+
}
|
|
1785
|
+
h.tag_name === "!--" && y.type === t.TAG_CLOSE && T.is_end_tag && h.text.indexOf(`
|
|
1786
|
+
`) === -1 || (h.is_inline_element || h.is_unformatted || _.print_newline(!1), this._calcluate_parent_multiline(_, h));
|
|
1787
|
+
} else if (h.is_end_tag) {
|
|
1788
|
+
var m = !1;
|
|
1789
|
+
m = h.start_tag_token && h.start_tag_token.multiline_content, m = m || !h.is_inline_element && !(T.is_inline_element || T.is_unformatted) && !(y.type === t.TAG_CLOSE && h.start_tag_token === T) && y.type !== "TK_CONTENT", (h.is_content_unformatted || h.is_unformatted) && (m = !1), m && _.print_newline(!1);
|
|
1790
|
+
} else
|
|
1791
|
+
h.indent_content = !h.custom_beautifier_name, h.tag_start_char === "<" && (h.tag_name === "html" ? h.indent_content = this._options.indent_inner_html : h.tag_name === "head" ? h.indent_content = this._options.indent_head_inner_html : h.tag_name === "body" && (h.indent_content = this._options.indent_body_inner_html)), !(h.is_inline_element || h.is_unformatted) && (y.type !== "TK_CONTENT" || h.is_content_unformatted) && _.print_newline(!1), this._calcluate_parent_multiline(_, h);
|
|
1792
|
+
}, E.prototype._calcluate_parent_multiline = function(_, s) {
|
|
1793
|
+
s.parent && _._output.just_added_newline() && !((s.is_inline_element || s.is_unformatted) && s.parent.is_inline_element) && (s.parent.multiline_content = !0);
|
|
1794
|
+
};
|
|
1795
|
+
var q = ["address", "article", "aside", "blockquote", "details", "div", "dl", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "main", "menu", "nav", "ol", "p", "pre", "section", "table", "ul"], N = ["a", "audio", "del", "ins", "map", "noscript", "video"];
|
|
1796
|
+
return E.prototype._do_optional_end_element = function(_) {
|
|
1797
|
+
var s = null;
|
|
1798
|
+
if (!(_.is_empty_element || !_.is_start_tag || !_.parent)) {
|
|
1799
|
+
if (_.tag_name === "body")
|
|
1800
|
+
s = s || this._tag_stack.try_pop("head");
|
|
1801
|
+
else if (_.tag_name === "li")
|
|
1802
|
+
s = s || this._tag_stack.try_pop("li", ["ol", "ul", "menu"]);
|
|
1803
|
+
else if (_.tag_name === "dd" || _.tag_name === "dt")
|
|
1804
|
+
s = s || this._tag_stack.try_pop("dt", ["dl"]), s = s || this._tag_stack.try_pop("dd", ["dl"]);
|
|
1805
|
+
else if (_.parent.tag_name === "p" && q.indexOf(_.tag_name) !== -1) {
|
|
1806
|
+
var h = _.parent.parent;
|
|
1807
|
+
(!h || N.indexOf(h.tag_name) === -1) && (s = s || this._tag_stack.try_pop("p"));
|
|
1808
|
+
} else _.tag_name === "rp" || _.tag_name === "rt" ? (s = s || this._tag_stack.try_pop("rt", ["ruby", "rtc"]), s = s || this._tag_stack.try_pop("rp", ["ruby", "rtc"])) : _.tag_name === "optgroup" ? s = s || this._tag_stack.try_pop("optgroup", ["select"]) : _.tag_name === "option" ? s = s || this._tag_stack.try_pop("option", ["select", "datalist", "optgroup"]) : _.tag_name === "colgroup" ? s = s || this._tag_stack.try_pop("caption", ["table"]) : _.tag_name === "thead" ? (s = s || this._tag_stack.try_pop("caption", ["table"]), s = s || this._tag_stack.try_pop("colgroup", ["table"])) : _.tag_name === "tbody" || _.tag_name === "tfoot" ? (s = s || this._tag_stack.try_pop("caption", ["table"]), s = s || this._tag_stack.try_pop("colgroup", ["table"]), s = s || this._tag_stack.try_pop("thead", ["table"]), s = s || this._tag_stack.try_pop("tbody", ["table"])) : _.tag_name === "tr" ? (s = s || this._tag_stack.try_pop("caption", ["table"]), s = s || this._tag_stack.try_pop("colgroup", ["table"]), s = s || this._tag_stack.try_pop("tr", ["table", "thead", "tbody", "tfoot"])) : (_.tag_name === "th" || _.tag_name === "td") && (s = s || this._tag_stack.try_pop("td", ["table", "thead", "tbody", "tfoot", "tr"]), s = s || this._tag_stack.try_pop("th", ["table", "thead", "tbody", "tfoot", "tr"]));
|
|
1809
|
+
return _.parent = this._tag_stack.get_parser_token(), s;
|
|
1810
|
+
}
|
|
1811
|
+
}, $e.Beautifier = E, $e;
|
|
1812
|
+
}
|
|
1813
|
+
var St;
|
|
1814
|
+
function Bu() {
|
|
1815
|
+
if (St) return xe.exports;
|
|
1816
|
+
St = 1;
|
|
1817
|
+
var e = wu().Beautifier, u = zt().Options;
|
|
1818
|
+
function i(t, a, n, c) {
|
|
1819
|
+
var o = new e(t, a, n, c);
|
|
1820
|
+
return o.beautify();
|
|
1821
|
+
}
|
|
1822
|
+
return xe.exports = i, xe.exports.defaultOptions = function() {
|
|
1823
|
+
return new u();
|
|
1824
|
+
}, xe.exports;
|
|
1825
|
+
}
|
|
1826
|
+
var Lt;
|
|
1827
|
+
function Tu() {
|
|
1828
|
+
if (Lt) return ne;
|
|
1829
|
+
Lt = 1;
|
|
1830
|
+
var e = yu(), u = Cu(), i = Bu();
|
|
1831
|
+
function t(a, n, c, o) {
|
|
1832
|
+
return c = c || e, o = o || u, i(a, n, c, o);
|
|
1833
|
+
}
|
|
1834
|
+
return t.defaultOptions = i.defaultOptions, ne.js = e, ne.css = u, ne.html = t, ne;
|
|
1835
|
+
}
|
|
1836
|
+
var Nt;
|
|
1837
|
+
function Fu() {
|
|
1838
|
+
return Nt || (Nt = 1, (function(e) {
|
|
1839
|
+
function u(i, t, a) {
|
|
1840
|
+
var n = function(c, o) {
|
|
1841
|
+
return i.js_beautify(c, o);
|
|
1842
|
+
};
|
|
1843
|
+
return n.js = i.js_beautify, n.css = t.css_beautify, n.html = a.html_beautify, n.js_beautify = i.js_beautify, n.css_beautify = t.css_beautify, n.html_beautify = a.html_beautify, n;
|
|
1844
|
+
}
|
|
1845
|
+
(function(i) {
|
|
1846
|
+
var t = Tu();
|
|
1847
|
+
t.js_beautify = t.js, t.css_beautify = t.css, t.html_beautify = t.html, i.exports = u(t, t, t);
|
|
1848
|
+
})(e);
|
|
1849
|
+
})(ke)), ke.exports;
|
|
1850
|
+
}
|
|
1851
|
+
var Ou = Fu(), le = { exports: {} };
|
|
1852
|
+
/*! https://mths.be/he v1.2.0 by @mathias | MIT license */
|
|
1853
|
+
var ku = le.exports, Pt;
|
|
1854
|
+
function Ru() {
|
|
1855
|
+
return Pt || (Pt = 1, (function(e, u) {
|
|
1856
|
+
(function(i) {
|
|
1857
|
+
var t = u, a = e && e.exports == t && e, n = typeof _t == "object" && _t;
|
|
1858
|
+
(n.global === n || n.window === n) && (i = n);
|
|
1859
|
+
var c = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, o = /[\x01-\x7F]/g, l = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g, b = /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g, d = { "": "shy", "": "zwnj", "": "zwj", "": "lrm", "": "ic", "": "it", "": "af", "": "rlm", "": "ZeroWidthSpace", "": "NoBreak", "̑": "DownBreve", "⃛": "tdot", "⃜": "DotDot", " ": "Tab", "\n": "NewLine", " ": "puncsp", " ": "MediumSpace", " ": "thinsp", " ": "hairsp", " ": "emsp13", " ": "ensp", " ": "emsp14", " ": "emsp", " ": "numsp", " ": "nbsp", " ": "ThickSpace", "‾": "oline", _: "lowbar", "‐": "dash", "–": "ndash", "—": "mdash", "―": "horbar", ",": "comma", ";": "semi", "⁏": "bsemi", ":": "colon", "⩴": "Colone", "!": "excl", "¡": "iexcl", "?": "quest", "¿": "iquest", ".": "period", "‥": "nldr", "…": "mldr", "·": "middot", "'": "apos", "‘": "lsquo", "’": "rsquo", "‚": "sbquo", "‹": "lsaquo", "›": "rsaquo", '"': "quot", "“": "ldquo", "”": "rdquo", "„": "bdquo", "«": "laquo", "»": "raquo", "(": "lpar", ")": "rpar", "[": "lsqb", "]": "rsqb", "{": "lcub", "}": "rcub", "⌈": "lceil", "⌉": "rceil", "⌊": "lfloor", "⌋": "rfloor", "⦅": "lopar", "⦆": "ropar", "⦋": "lbrke", "⦌": "rbrke", "⦍": "lbrkslu", "⦎": "rbrksld", "⦏": "lbrksld", "⦐": "rbrkslu", "⦑": "langd", "⦒": "rangd", "⦓": "lparlt", "⦔": "rpargt", "⦕": "gtlPar", "⦖": "ltrPar", "⟦": "lobrk", "⟧": "robrk", "⟨": "lang", "⟩": "rang", "⟪": "Lang", "⟫": "Rang", "⟬": "loang", "⟭": "roang", "❲": "lbbrk", "❳": "rbbrk", "‖": "Vert", "§": "sect", "¶": "para", "@": "commat", "*": "ast", "/": "sol", undefined: null, "&": "amp", "#": "num", "%": "percnt", "‰": "permil", "‱": "pertenk", "†": "dagger", "‡": "Dagger", "•": "bull", "⁃": "hybull", "′": "prime", "″": "Prime", "‴": "tprime", "⁗": "qprime", "‵": "bprime", "⁁": "caret", "`": "grave", "´": "acute", "˜": "tilde", "^": "Hat", "¯": "macr", "˘": "breve", "˙": "dot", "¨": "die", "˚": "ring", "˝": "dblac", "¸": "cedil", "˛": "ogon", "ˆ": "circ", "ˇ": "caron", "°": "deg", "©": "copy", "®": "reg", "℗": "copysr", "℘": "wp", "℞": "rx", "℧": "mho", "℩": "iiota", "←": "larr", "↚": "nlarr", "→": "rarr", "↛": "nrarr", "↑": "uarr", "↓": "darr", "↔": "harr", "↮": "nharr", "↕": "varr", "↖": "nwarr", "↗": "nearr", "↘": "searr", "↙": "swarr", "↝": "rarrw", "↝̸": "nrarrw", "↞": "Larr", "↟": "Uarr", "↠": "Rarr", "↡": "Darr", "↢": "larrtl", "↣": "rarrtl", "↤": "mapstoleft", "↥": "mapstoup", "↦": "map", "↧": "mapstodown", "↩": "larrhk", "↪": "rarrhk", "↫": "larrlp", "↬": "rarrlp", "↭": "harrw", "↰": "lsh", "↱": "rsh", "↲": "ldsh", "↳": "rdsh", "↵": "crarr", "↶": "cularr", "↷": "curarr", "↺": "olarr", "↻": "orarr", "↼": "lharu", "↽": "lhard", "↾": "uharr", "↿": "uharl", "⇀": "rharu", "⇁": "rhard", "⇂": "dharr", "⇃": "dharl", "⇄": "rlarr", "⇅": "udarr", "⇆": "lrarr", "⇇": "llarr", "⇈": "uuarr", "⇉": "rrarr", "⇊": "ddarr", "⇋": "lrhar", "⇌": "rlhar", "⇐": "lArr", "⇍": "nlArr", "⇑": "uArr", "⇒": "rArr", "⇏": "nrArr", "⇓": "dArr", "⇔": "iff", "⇎": "nhArr", "⇕": "vArr", "⇖": "nwArr", "⇗": "neArr", "⇘": "seArr", "⇙": "swArr", "⇚": "lAarr", "⇛": "rAarr", "⇝": "zigrarr", "⇤": "larrb", "⇥": "rarrb", "⇵": "duarr", "⇽": "loarr", "⇾": "roarr", "⇿": "hoarr", "∀": "forall", "∁": "comp", "∂": "part", "∂̸": "npart", "∃": "exist", "∄": "nexist", "∅": "empty", "∇": "Del", "∈": "in", "∉": "notin", "∋": "ni", "∌": "notni", "϶": "bepsi", "∏": "prod", "∐": "coprod", "∑": "sum", "+": "plus", "±": "pm", "÷": "div", "×": "times", "<": "lt", "≮": "nlt", "<⃒": "nvlt", "=": "equals", "≠": "ne", "=⃥": "bne", "⩵": "Equal", ">": "gt", "≯": "ngt", ">⃒": "nvgt", "¬": "not", "|": "vert", "¦": "brvbar", "−": "minus", "∓": "mp", "∔": "plusdo", "⁄": "frasl", "∖": "setmn", "∗": "lowast", "∘": "compfn", "√": "Sqrt", "∝": "prop", "∞": "infin", "∟": "angrt", "∠": "ang", "∠⃒": "nang", "∡": "angmsd", "∢": "angsph", "∣": "mid", "∤": "nmid", "∥": "par", "∦": "npar", "∧": "and", "∨": "or", "∩": "cap", "∩︀": "caps", "∪": "cup", "∪︀": "cups", "∫": "int", "∬": "Int", "∭": "tint", "⨌": "qint", "∮": "oint", "∯": "Conint", "∰": "Cconint", "∱": "cwint", "∲": "cwconint", "∳": "awconint", "∴": "there4", "∵": "becaus", "∶": "ratio", "∷": "Colon", "∸": "minusd", "∺": "mDDot", "∻": "homtht", "∼": "sim", "≁": "nsim", "∼⃒": "nvsim", "∽": "bsim", "∽̱": "race", "∾": "ac", "∾̳": "acE", "∿": "acd", "≀": "wr", "≂": "esim", "≂̸": "nesim", "≃": "sime", "≄": "nsime", "≅": "cong", "≇": "ncong", "≆": "simne", "≈": "ap", "≉": "nap", "≊": "ape", "≋": "apid", "≋̸": "napid", "≌": "bcong", "≍": "CupCap", "≭": "NotCupCap", "≍⃒": "nvap", "≎": "bump", "≎̸": "nbump", "≏": "bumpe", "≏̸": "nbumpe", "≐": "doteq", "≐̸": "nedot", "≑": "eDot", "≒": "efDot", "≓": "erDot", "≔": "colone", "≕": "ecolon", "≖": "ecir", "≗": "cire", "≙": "wedgeq", "≚": "veeeq", "≜": "trie", "≟": "equest", "≡": "equiv", "≢": "nequiv", "≡⃥": "bnequiv", "≤": "le", "≰": "nle", "≤⃒": "nvle", "≥": "ge", "≱": "nge", "≥⃒": "nvge", "≦": "lE", "≦̸": "nlE", "≧": "gE", "≧̸": "ngE", "≨︀": "lvnE", "≨": "lnE", "≩": "gnE", "≩︀": "gvnE", "≪": "ll", "≪̸": "nLtv", "≪⃒": "nLt", "≫": "gg", "≫̸": "nGtv", "≫⃒": "nGt", "≬": "twixt", "≲": "lsim", "≴": "nlsim", "≳": "gsim", "≵": "ngsim", "≶": "lg", "≸": "ntlg", "≷": "gl", "≹": "ntgl", "≺": "pr", "⊀": "npr", "≻": "sc", "⊁": "nsc", "≼": "prcue", "⋠": "nprcue", "≽": "sccue", "⋡": "nsccue", "≾": "prsim", "≿": "scsim", "≿̸": "NotSucceedsTilde", "⊂": "sub", "⊄": "nsub", "⊂⃒": "vnsub", "⊃": "sup", "⊅": "nsup", "⊃⃒": "vnsup", "⊆": "sube", "⊈": "nsube", "⊇": "supe", "⊉": "nsupe", "⊊︀": "vsubne", "⊊": "subne", "⊋︀": "vsupne", "⊋": "supne", "⊍": "cupdot", "⊎": "uplus", "⊏": "sqsub", "⊏̸": "NotSquareSubset", "⊐": "sqsup", "⊐̸": "NotSquareSuperset", "⊑": "sqsube", "⋢": "nsqsube", "⊒": "sqsupe", "⋣": "nsqsupe", "⊓": "sqcap", "⊓︀": "sqcaps", "⊔": "sqcup", "⊔︀": "sqcups", "⊕": "oplus", "⊖": "ominus", "⊗": "otimes", "⊘": "osol", "⊙": "odot", "⊚": "ocir", "⊛": "oast", "⊝": "odash", "⊞": "plusb", "⊟": "minusb", "⊠": "timesb", "⊡": "sdotb", "⊢": "vdash", "⊬": "nvdash", "⊣": "dashv", "⊤": "top", "⊥": "bot", "⊧": "models", "⊨": "vDash", "⊭": "nvDash", "⊩": "Vdash", "⊮": "nVdash", "⊪": "Vvdash", "⊫": "VDash", "⊯": "nVDash", "⊰": "prurel", "⊲": "vltri", "⋪": "nltri", "⊳": "vrtri", "⋫": "nrtri", "⊴": "ltrie", "⋬": "nltrie", "⊴⃒": "nvltrie", "⊵": "rtrie", "⋭": "nrtrie", "⊵⃒": "nvrtrie", "⊶": "origof", "⊷": "imof", "⊸": "mumap", "⊹": "hercon", "⊺": "intcal", "⊻": "veebar", "⊽": "barvee", "⊾": "angrtvb", "⊿": "lrtri", "⋀": "Wedge", "⋁": "Vee", "⋂": "xcap", "⋃": "xcup", "⋄": "diam", "⋅": "sdot", "⋆": "Star", "⋇": "divonx", "⋈": "bowtie", "⋉": "ltimes", "⋊": "rtimes", "⋋": "lthree", "⋌": "rthree", "⋍": "bsime", "⋎": "cuvee", "⋏": "cuwed", "⋐": "Sub", "⋑": "Sup", "⋒": "Cap", "⋓": "Cup", "⋔": "fork", "⋕": "epar", "⋖": "ltdot", "⋗": "gtdot", "⋘": "Ll", "⋘̸": "nLl", "⋙": "Gg", "⋙̸": "nGg", "⋚︀": "lesg", "⋚": "leg", "⋛": "gel", "⋛︀": "gesl", "⋞": "cuepr", "⋟": "cuesc", "⋦": "lnsim", "⋧": "gnsim", "⋨": "prnsim", "⋩": "scnsim", "⋮": "vellip", "⋯": "ctdot", "⋰": "utdot", "⋱": "dtdot", "⋲": "disin", "⋳": "isinsv", "⋴": "isins", "⋵": "isindot", "⋵̸": "notindot", "⋶": "notinvc", "⋷": "notinvb", "⋹": "isinE", "⋹̸": "notinE", "⋺": "nisd", "⋻": "xnis", "⋼": "nis", "⋽": "notnivc", "⋾": "notnivb", "⌅": "barwed", "⌆": "Barwed", "⌌": "drcrop", "⌍": "dlcrop", "⌎": "urcrop", "⌏": "ulcrop", "⌐": "bnot", "⌒": "profline", "⌓": "profsurf", "⌕": "telrec", "⌖": "target", "⌜": "ulcorn", "⌝": "urcorn", "⌞": "dlcorn", "⌟": "drcorn", "⌢": "frown", "⌣": "smile", "⌭": "cylcty", "⌮": "profalar", "⌶": "topbot", "⌽": "ovbar", "⌿": "solbar", "⍼": "angzarr", "⎰": "lmoust", "⎱": "rmoust", "⎴": "tbrk", "⎵": "bbrk", "⎶": "bbrktbrk", "⏜": "OverParenthesis", "⏝": "UnderParenthesis", "⏞": "OverBrace", "⏟": "UnderBrace", "⏢": "trpezium", "⏧": "elinters", "␣": "blank", "─": "boxh", "│": "boxv", "┌": "boxdr", "┐": "boxdl", "└": "boxur", "┘": "boxul", "├": "boxvr", "┤": "boxvl", "┬": "boxhd", "┴": "boxhu", "┼": "boxvh", "═": "boxH", "║": "boxV", "╒": "boxdR", "╓": "boxDr", "╔": "boxDR", "╕": "boxdL", "╖": "boxDl", "╗": "boxDL", "╘": "boxuR", "╙": "boxUr", "╚": "boxUR", "╛": "boxuL", "╜": "boxUl", "╝": "boxUL", "╞": "boxvR", "╟": "boxVr", "╠": "boxVR", "╡": "boxvL", "╢": "boxVl", "╣": "boxVL", "╤": "boxHd", "╥": "boxhD", "╦": "boxHD", "╧": "boxHu", "╨": "boxhU", "╩": "boxHU", "╪": "boxvH", "╫": "boxVh", "╬": "boxVH", "▀": "uhblk", "▄": "lhblk", "█": "block", "░": "blk14", "▒": "blk12", "▓": "blk34", "□": "squ", "▪": "squf", "▫": "EmptyVerySmallSquare", "▭": "rect", "▮": "marker", "▱": "fltns", "△": "xutri", "▴": "utrif", "▵": "utri", "▸": "rtrif", "▹": "rtri", "▽": "xdtri", "▾": "dtrif", "▿": "dtri", "◂": "ltrif", "◃": "ltri", "◊": "loz", "○": "cir", "◬": "tridot", "◯": "xcirc", "◸": "ultri", "◹": "urtri", "◺": "lltri", "◻": "EmptySmallSquare", "◼": "FilledSmallSquare", "★": "starf", "☆": "star", "☎": "phone", "♀": "female", "♂": "male", "♠": "spades", "♣": "clubs", "♥": "hearts", "♦": "diams", "♪": "sung", "✓": "check", "✗": "cross", "✠": "malt", "✶": "sext", "❘": "VerticalSeparator", "⟈": "bsolhsub", "⟉": "suphsol", "⟵": "xlarr", "⟶": "xrarr", "⟷": "xharr", "⟸": "xlArr", "⟹": "xrArr", "⟺": "xhArr", "⟼": "xmap", "⟿": "dzigrarr", "⤂": "nvlArr", "⤃": "nvrArr", "⤄": "nvHarr", "⤅": "Map", "⤌": "lbarr", "⤍": "rbarr", "⤎": "lBarr", "⤏": "rBarr", "⤐": "RBarr", "⤑": "DDotrahd", "⤒": "UpArrowBar", "⤓": "DownArrowBar", "⤖": "Rarrtl", "⤙": "latail", "⤚": "ratail", "⤛": "lAtail", "⤜": "rAtail", "⤝": "larrfs", "⤞": "rarrfs", "⤟": "larrbfs", "⤠": "rarrbfs", "⤣": "nwarhk", "⤤": "nearhk", "⤥": "searhk", "⤦": "swarhk", "⤧": "nwnear", "⤨": "toea", "⤩": "tosa", "⤪": "swnwar", "⤳": "rarrc", "⤳̸": "nrarrc", "⤵": "cudarrr", "⤶": "ldca", "⤷": "rdca", "⤸": "cudarrl", "⤹": "larrpl", "⤼": "curarrm", "⤽": "cularrp", "⥅": "rarrpl", "⥈": "harrcir", "⥉": "Uarrocir", "⥊": "lurdshar", "⥋": "ldrushar", "⥎": "LeftRightVector", "⥏": "RightUpDownVector", "⥐": "DownLeftRightVector", "⥑": "LeftUpDownVector", "⥒": "LeftVectorBar", "⥓": "RightVectorBar", "⥔": "RightUpVectorBar", "⥕": "RightDownVectorBar", "⥖": "DownLeftVectorBar", "⥗": "DownRightVectorBar", "⥘": "LeftUpVectorBar", "⥙": "LeftDownVectorBar", "⥚": "LeftTeeVector", "⥛": "RightTeeVector", "⥜": "RightUpTeeVector", "⥝": "RightDownTeeVector", "⥞": "DownLeftTeeVector", "⥟": "DownRightTeeVector", "⥠": "LeftUpTeeVector", "⥡": "LeftDownTeeVector", "⥢": "lHar", "⥣": "uHar", "⥤": "rHar", "⥥": "dHar", "⥦": "luruhar", "⥧": "ldrdhar", "⥨": "ruluhar", "⥩": "rdldhar", "⥪": "lharul", "⥫": "llhard", "⥬": "rharul", "⥭": "lrhard", "⥮": "udhar", "⥯": "duhar", "⥰": "RoundImplies", "⥱": "erarr", "⥲": "simrarr", "⥳": "larrsim", "⥴": "rarrsim", "⥵": "rarrap", "⥶": "ltlarr", "⥸": "gtrarr", "⥹": "subrarr", "⥻": "suplarr", "⥼": "lfisht", "⥽": "rfisht", "⥾": "ufisht", "⥿": "dfisht", "⦚": "vzigzag", "⦜": "vangrt", "⦝": "angrtvbd", "⦤": "ange", "⦥": "range", "⦦": "dwangle", "⦧": "uwangle", "⦨": "angmsdaa", "⦩": "angmsdab", "⦪": "angmsdac", "⦫": "angmsdad", "⦬": "angmsdae", "⦭": "angmsdaf", "⦮": "angmsdag", "⦯": "angmsdah", "⦰": "bemptyv", "⦱": "demptyv", "⦲": "cemptyv", "⦳": "raemptyv", "⦴": "laemptyv", "⦵": "ohbar", "⦶": "omid", "⦷": "opar", "⦹": "operp", "⦻": "olcross", "⦼": "odsold", "⦾": "olcir", "⦿": "ofcir", "⧀": "olt", "⧁": "ogt", "⧂": "cirscir", "⧃": "cirE", "⧄": "solb", "⧅": "bsolb", "⧉": "boxbox", "⧍": "trisb", "⧎": "rtriltri", "⧏": "LeftTriangleBar", "⧏̸": "NotLeftTriangleBar", "⧐": "RightTriangleBar", "⧐̸": "NotRightTriangleBar", "⧜": "iinfin", "⧝": "infintie", "⧞": "nvinfin", "⧣": "eparsl", "⧤": "smeparsl", "⧥": "eqvparsl", "⧫": "lozf", "⧴": "RuleDelayed", "⧶": "dsol", "⨀": "xodot", "⨁": "xoplus", "⨂": "xotime", "⨄": "xuplus", "⨆": "xsqcup", "⨍": "fpartint", "⨐": "cirfnint", "⨑": "awint", "⨒": "rppolint", "⨓": "scpolint", "⨔": "npolint", "⨕": "pointint", "⨖": "quatint", "⨗": "intlarhk", "⨢": "pluscir", "⨣": "plusacir", "⨤": "simplus", "⨥": "plusdu", "⨦": "plussim", "⨧": "plustwo", "⨩": "mcomma", "⨪": "minusdu", "⨭": "loplus", "⨮": "roplus", "⨯": "Cross", "⨰": "timesd", "⨱": "timesbar", "⨳": "smashp", "⨴": "lotimes", "⨵": "rotimes", "⨶": "otimesas", "⨷": "Otimes", "⨸": "odiv", "⨹": "triplus", "⨺": "triminus", "⨻": "tritime", "⨼": "iprod", "⨿": "amalg", "⩀": "capdot", "⩂": "ncup", "⩃": "ncap", "⩄": "capand", "⩅": "cupor", "⩆": "cupcap", "⩇": "capcup", "⩈": "cupbrcap", "⩉": "capbrcup", "⩊": "cupcup", "⩋": "capcap", "⩌": "ccups", "⩍": "ccaps", "⩐": "ccupssm", "⩓": "And", "⩔": "Or", "⩕": "andand", "⩖": "oror", "⩗": "orslope", "⩘": "andslope", "⩚": "andv", "⩛": "orv", "⩜": "andd", "⩝": "ord", "⩟": "wedbar", "⩦": "sdote", "⩪": "simdot", "⩭": "congdot", "⩭̸": "ncongdot", "⩮": "easter", "⩯": "apacir", "⩰": "apE", "⩰̸": "napE", "⩱": "eplus", "⩲": "pluse", "⩳": "Esim", "⩷": "eDDot", "⩸": "equivDD", "⩹": "ltcir", "⩺": "gtcir", "⩻": "ltquest", "⩼": "gtquest", "⩽": "les", "⩽̸": "nles", "⩾": "ges", "⩾̸": "nges", "⩿": "lesdot", "⪀": "gesdot", "⪁": "lesdoto", "⪂": "gesdoto", "⪃": "lesdotor", "⪄": "gesdotol", "⪅": "lap", "⪆": "gap", "⪇": "lne", "⪈": "gne", "⪉": "lnap", "⪊": "gnap", "⪋": "lEg", "⪌": "gEl", "⪍": "lsime", "⪎": "gsime", "⪏": "lsimg", "⪐": "gsiml", "⪑": "lgE", "⪒": "glE", "⪓": "lesges", "⪔": "gesles", "⪕": "els", "⪖": "egs", "⪗": "elsdot", "⪘": "egsdot", "⪙": "el", "⪚": "eg", "⪝": "siml", "⪞": "simg", "⪟": "simlE", "⪠": "simgE", "⪡": "LessLess", "⪡̸": "NotNestedLessLess", "⪢": "GreaterGreater", "⪢̸": "NotNestedGreaterGreater", "⪤": "glj", "⪥": "gla", "⪦": "ltcc", "⪧": "gtcc", "⪨": "lescc", "⪩": "gescc", "⪪": "smt", "⪫": "lat", "⪬": "smte", "⪬︀": "smtes", "⪭": "late", "⪭︀": "lates", "⪮": "bumpE", "⪯": "pre", "⪯̸": "npre", "⪰": "sce", "⪰̸": "nsce", "⪳": "prE", "⪴": "scE", "⪵": "prnE", "⪶": "scnE", "⪷": "prap", "⪸": "scap", "⪹": "prnap", "⪺": "scnap", "⪻": "Pr", "⪼": "Sc", "⪽": "subdot", "⪾": "supdot", "⪿": "subplus", "⫀": "supplus", "⫁": "submult", "⫂": "supmult", "⫃": "subedot", "⫄": "supedot", "⫅": "subE", "⫅̸": "nsubE", "⫆": "supE", "⫆̸": "nsupE", "⫇": "subsim", "⫈": "supsim", "⫋︀": "vsubnE", "⫋": "subnE", "⫌︀": "vsupnE", "⫌": "supnE", "⫏": "csub", "⫐": "csup", "⫑": "csube", "⫒": "csupe", "⫓": "subsup", "⫔": "supsub", "⫕": "subsub", "⫖": "supsup", "⫗": "suphsub", "⫘": "supdsub", "⫙": "forkv", "⫚": "topfork", "⫛": "mlcp", "⫤": "Dashv", "⫦": "Vdashl", "⫧": "Barv", "⫨": "vBar", "⫩": "vBarv", "⫫": "Vbar", "⫬": "Not", "⫭": "bNot", "⫮": "rnmid", "⫯": "cirmid", "⫰": "midcir", "⫱": "topcir", "⫲": "nhpar", "⫳": "parsim", "⫽": "parsl", "⫽⃥": "nparsl", "♭": "flat", "♮": "natur", "♯": "sharp", "¤": "curren", "¢": "cent", $: "dollar", "£": "pound", "¥": "yen", "€": "euro", "¹": "sup1", "½": "half", "⅓": "frac13", "¼": "frac14", "⅕": "frac15", "⅙": "frac16", "⅛": "frac18", "²": "sup2", "⅔": "frac23", "⅖": "frac25", "³": "sup3", "¾": "frac34", "⅗": "frac35", "⅜": "frac38", "⅘": "frac45", "⅚": "frac56", "⅝": "frac58", "⅞": "frac78", "𝒶": "ascr", "𝕒": "aopf", "𝔞": "afr", "𝔸": "Aopf", "𝔄": "Afr", "𝒜": "Ascr", ª: "ordf", á: "aacute", Á: "Aacute", à: "agrave", À: "Agrave", ă: "abreve", Ă: "Abreve", â: "acirc", Â: "Acirc", å: "aring", Å: "angst", ä: "auml", Ä: "Auml", ã: "atilde", Ã: "Atilde", ą: "aogon", Ą: "Aogon", ā: "amacr", Ā: "Amacr", æ: "aelig", Æ: "AElig", "𝒷": "bscr", "𝕓": "bopf", "𝔟": "bfr", "𝔹": "Bopf", ℬ: "Bscr", "𝔅": "Bfr", "𝔠": "cfr", "𝒸": "cscr", "𝕔": "copf", ℭ: "Cfr", "𝒞": "Cscr", ℂ: "Copf", ć: "cacute", Ć: "Cacute", ĉ: "ccirc", Ĉ: "Ccirc", č: "ccaron", Č: "Ccaron", ċ: "cdot", Ċ: "Cdot", ç: "ccedil", Ç: "Ccedil", "℅": "incare", "𝔡": "dfr", "ⅆ": "dd", "𝕕": "dopf", "𝒹": "dscr", "𝒟": "Dscr", "𝔇": "Dfr", "ⅅ": "DD", "𝔻": "Dopf", ď: "dcaron", Ď: "Dcaron", đ: "dstrok", Đ: "Dstrok", ð: "eth", Ð: "ETH", "ⅇ": "ee", ℯ: "escr", "𝔢": "efr", "𝕖": "eopf", ℰ: "Escr", "𝔈": "Efr", "𝔼": "Eopf", é: "eacute", É: "Eacute", è: "egrave", È: "Egrave", ê: "ecirc", Ê: "Ecirc", ě: "ecaron", Ě: "Ecaron", ë: "euml", Ë: "Euml", ė: "edot", Ė: "Edot", ę: "eogon", Ę: "Eogon", ē: "emacr", Ē: "Emacr", "𝔣": "ffr", "𝕗": "fopf", "𝒻": "fscr", "𝔉": "Ffr", "𝔽": "Fopf", ℱ: "Fscr", ff: "fflig", ffi: "ffilig", ffl: "ffllig", fi: "filig", fj: "fjlig", fl: "fllig", ƒ: "fnof", ℊ: "gscr", "𝕘": "gopf", "𝔤": "gfr", "𝒢": "Gscr", "𝔾": "Gopf", "𝔊": "Gfr", ǵ: "gacute", ğ: "gbreve", Ğ: "Gbreve", ĝ: "gcirc", Ĝ: "Gcirc", ġ: "gdot", Ġ: "Gdot", Ģ: "Gcedil", "𝔥": "hfr", ℎ: "planckh", "𝒽": "hscr", "𝕙": "hopf", ℋ: "Hscr", ℌ: "Hfr", ℍ: "Hopf", ĥ: "hcirc", Ĥ: "Hcirc", ℏ: "hbar", ħ: "hstrok", Ħ: "Hstrok", "𝕚": "iopf", "𝔦": "ifr", "𝒾": "iscr", "ⅈ": "ii", "𝕀": "Iopf", ℐ: "Iscr", ℑ: "Im", í: "iacute", Í: "Iacute", ì: "igrave", Ì: "Igrave", î: "icirc", Î: "Icirc", ï: "iuml", Ï: "Iuml", ĩ: "itilde", Ĩ: "Itilde", İ: "Idot", į: "iogon", Į: "Iogon", ī: "imacr", Ī: "Imacr", ij: "ijlig", IJ: "IJlig", ı: "imath", "𝒿": "jscr", "𝕛": "jopf", "𝔧": "jfr", "𝒥": "Jscr", "𝔍": "Jfr", "𝕁": "Jopf", ĵ: "jcirc", Ĵ: "Jcirc", "ȷ": "jmath", "𝕜": "kopf", "𝓀": "kscr", "𝔨": "kfr", "𝒦": "Kscr", "𝕂": "Kopf", "𝔎": "Kfr", ķ: "kcedil", Ķ: "Kcedil", "𝔩": "lfr", "𝓁": "lscr", ℓ: "ell", "𝕝": "lopf", ℒ: "Lscr", "𝔏": "Lfr", "𝕃": "Lopf", ĺ: "lacute", Ĺ: "Lacute", ľ: "lcaron", Ľ: "Lcaron", ļ: "lcedil", Ļ: "Lcedil", ł: "lstrok", Ł: "Lstrok", ŀ: "lmidot", Ŀ: "Lmidot", "𝔪": "mfr", "𝕞": "mopf", "𝓂": "mscr", "𝔐": "Mfr", "𝕄": "Mopf", ℳ: "Mscr", "𝔫": "nfr", "𝕟": "nopf", "𝓃": "nscr", ℕ: "Nopf", "𝒩": "Nscr", "𝔑": "Nfr", ń: "nacute", Ń: "Nacute", ň: "ncaron", Ň: "Ncaron", ñ: "ntilde", Ñ: "Ntilde", ņ: "ncedil", Ņ: "Ncedil", "№": "numero", ŋ: "eng", Ŋ: "ENG", "𝕠": "oopf", "𝔬": "ofr", ℴ: "oscr", "𝒪": "Oscr", "𝔒": "Ofr", "𝕆": "Oopf", º: "ordm", ó: "oacute", Ó: "Oacute", ò: "ograve", Ò: "Ograve", ô: "ocirc", Ô: "Ocirc", ö: "ouml", Ö: "Ouml", ő: "odblac", Ő: "Odblac", õ: "otilde", Õ: "Otilde", ø: "oslash", Ø: "Oslash", ō: "omacr", Ō: "Omacr", œ: "oelig", Œ: "OElig", "𝔭": "pfr", "𝓅": "pscr", "𝕡": "popf", ℙ: "Popf", "𝔓": "Pfr", "𝒫": "Pscr", "𝕢": "qopf", "𝔮": "qfr", "𝓆": "qscr", "𝒬": "Qscr", "𝔔": "Qfr", ℚ: "Qopf", ĸ: "kgreen", "𝔯": "rfr", "𝕣": "ropf", "𝓇": "rscr", ℛ: "Rscr", ℜ: "Re", ℝ: "Ropf", ŕ: "racute", Ŕ: "Racute", ř: "rcaron", Ř: "Rcaron", ŗ: "rcedil", Ŗ: "Rcedil", "𝕤": "sopf", "𝓈": "sscr", "𝔰": "sfr", "𝕊": "Sopf", "𝔖": "Sfr", "𝒮": "Sscr", "Ⓢ": "oS", ś: "sacute", Ś: "Sacute", ŝ: "scirc", Ŝ: "Scirc", š: "scaron", Š: "Scaron", ş: "scedil", Ş: "Scedil", ß: "szlig", "𝔱": "tfr", "𝓉": "tscr", "𝕥": "topf", "𝒯": "Tscr", "𝔗": "Tfr", "𝕋": "Topf", ť: "tcaron", Ť: "Tcaron", ţ: "tcedil", Ţ: "Tcedil", "™": "trade", ŧ: "tstrok", Ŧ: "Tstrok", "𝓊": "uscr", "𝕦": "uopf", "𝔲": "ufr", "𝕌": "Uopf", "𝔘": "Ufr", "𝒰": "Uscr", ú: "uacute", Ú: "Uacute", ù: "ugrave", Ù: "Ugrave", ŭ: "ubreve", Ŭ: "Ubreve", û: "ucirc", Û: "Ucirc", ů: "uring", Ů: "Uring", ü: "uuml", Ü: "Uuml", ű: "udblac", Ű: "Udblac", ũ: "utilde", Ũ: "Utilde", ų: "uogon", Ų: "Uogon", ū: "umacr", Ū: "Umacr", "𝔳": "vfr", "𝕧": "vopf", "𝓋": "vscr", "𝔙": "Vfr", "𝕍": "Vopf", "𝒱": "Vscr", "𝕨": "wopf", "𝓌": "wscr", "𝔴": "wfr", "𝒲": "Wscr", "𝕎": "Wopf", "𝔚": "Wfr", ŵ: "wcirc", Ŵ: "Wcirc", "𝔵": "xfr", "𝓍": "xscr", "𝕩": "xopf", "𝕏": "Xopf", "𝔛": "Xfr", "𝒳": "Xscr", "𝔶": "yfr", "𝓎": "yscr", "𝕪": "yopf", "𝒴": "Yscr", "𝔜": "Yfr", "𝕐": "Yopf", ý: "yacute", Ý: "Yacute", ŷ: "ycirc", Ŷ: "Ycirc", ÿ: "yuml", Ÿ: "Yuml", "𝓏": "zscr", "𝔷": "zfr", "𝕫": "zopf", ℨ: "Zfr", ℤ: "Zopf", "𝒵": "Zscr", ź: "zacute", Ź: "Zacute", ž: "zcaron", Ž: "Zcaron", ż: "zdot", Ż: "Zdot", Ƶ: "imped", þ: "thorn", Þ: "THORN", ʼn: "napos", α: "alpha", Α: "Alpha", β: "beta", Β: "Beta", γ: "gamma", Γ: "Gamma", δ: "delta", Δ: "Delta", ε: "epsi", "ϵ": "epsiv", Ε: "Epsilon", ϝ: "gammad", Ϝ: "Gammad", ζ: "zeta", Ζ: "Zeta", η: "eta", Η: "Eta", θ: "theta", ϑ: "thetav", Θ: "Theta", ι: "iota", Ι: "Iota", κ: "kappa", ϰ: "kappav", Κ: "Kappa", λ: "lambda", Λ: "Lambda", μ: "mu", µ: "micro", Μ: "Mu", ν: "nu", Ν: "Nu", ξ: "xi", Ξ: "Xi", ο: "omicron", Ο: "Omicron", π: "pi", ϖ: "piv", Π: "Pi", ρ: "rho", ϱ: "rhov", Ρ: "Rho", σ: "sigma", Σ: "Sigma", ς: "sigmaf", τ: "tau", Τ: "Tau", υ: "upsi", Υ: "Upsilon", ϒ: "Upsi", φ: "phi", ϕ: "phiv", Φ: "Phi", χ: "chi", Χ: "Chi", ψ: "psi", Ψ: "Psi", ω: "omega", Ω: "ohm", а: "acy", А: "Acy", б: "bcy", Б: "Bcy", в: "vcy", В: "Vcy", г: "gcy", Г: "Gcy", ѓ: "gjcy", Ѓ: "GJcy", д: "dcy", Д: "Dcy", ђ: "djcy", Ђ: "DJcy", е: "iecy", Е: "IEcy", ё: "iocy", Ё: "IOcy", є: "jukcy", Є: "Jukcy", ж: "zhcy", Ж: "ZHcy", з: "zcy", З: "Zcy", ѕ: "dscy", Ѕ: "DScy", и: "icy", И: "Icy", і: "iukcy", І: "Iukcy", ї: "yicy", Ї: "YIcy", й: "jcy", Й: "Jcy", ј: "jsercy", Ј: "Jsercy", к: "kcy", К: "Kcy", ќ: "kjcy", Ќ: "KJcy", л: "lcy", Л: "Lcy", љ: "ljcy", Љ: "LJcy", м: "mcy", М: "Mcy", н: "ncy", Н: "Ncy", њ: "njcy", Њ: "NJcy", о: "ocy", О: "Ocy", п: "pcy", П: "Pcy", р: "rcy", Р: "Rcy", с: "scy", С: "Scy", т: "tcy", Т: "Tcy", ћ: "tshcy", Ћ: "TSHcy", у: "ucy", У: "Ucy", ў: "ubrcy", Ў: "Ubrcy", ф: "fcy", Ф: "Fcy", х: "khcy", Х: "KHcy", ц: "tscy", Ц: "TScy", ч: "chcy", Ч: "CHcy", џ: "dzcy", Џ: "DZcy", ш: "shcy", Ш: "SHcy", щ: "shchcy", Щ: "SHCHcy", ъ: "hardcy", Ъ: "HARDcy", ы: "ycy", Ы: "Ycy", ь: "softcy", Ь: "SOFTcy", э: "ecy", Э: "Ecy", ю: "yucy", Ю: "YUcy", я: "yacy", Я: "YAcy", ℵ: "aleph", ℶ: "beth", ℷ: "gimel", ℸ: "daleth" }, g = /["&'<>`]/g, E = {
|
|
1860
|
+
'"': """,
|
|
1861
|
+
"&": "&",
|
|
1862
|
+
"'": "'",
|
|
1863
|
+
"<": "<",
|
|
1864
|
+
// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the
|
|
1865
|
+
// following is not strictly necessary unless it’s part of a tag or an
|
|
1866
|
+
// unquoted attribute value. We’re only escaping it to support those
|
|
1867
|
+
// situations, and for XML support.
|
|
1868
|
+
">": ">",
|
|
1869
|
+
// In Internet Explorer ≤ 8, the backtick character can be used
|
|
1870
|
+
// to break out of (un)quoted attribute values or HTML comments.
|
|
1871
|
+
// See http://html5sec.org/#102, http://html5sec.org/#108, and
|
|
1872
|
+
// http://html5sec.org/#133.
|
|
1873
|
+
"`": "`"
|
|
1874
|
+
}, R = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/, q = /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, N = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g, _ = { aacute: "á", Aacute: "Á", abreve: "ă", Abreve: "Ă", ac: "∾", acd: "∿", acE: "∾̳", acirc: "â", Acirc: "Â", acute: "´", acy: "а", Acy: "А", aelig: "æ", AElig: "Æ", af: "", afr: "𝔞", Afr: "𝔄", agrave: "à", Agrave: "À", alefsym: "ℵ", aleph: "ℵ", alpha: "α", Alpha: "Α", amacr: "ā", Amacr: "Ā", amalg: "⨿", amp: "&", AMP: "&", and: "∧", And: "⩓", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", ange: "⦤", angle: "∠", angmsd: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angst: "Å", angzarr: "⍼", aogon: "ą", Aogon: "Ą", aopf: "𝕒", Aopf: "𝔸", ap: "≈", apacir: "⩯", ape: "≊", apE: "⩰", apid: "≋", apos: "'", ApplyFunction: "", approx: "≈", approxeq: "≊", aring: "å", Aring: "Å", ascr: "𝒶", Ascr: "𝒜", Assign: "≔", ast: "*", asymp: "≈", asympeq: "≍", atilde: "ã", Atilde: "Ã", auml: "ä", Auml: "Ä", awconint: "∳", awint: "⨑", backcong: "≌", backepsilon: "϶", backprime: "‵", backsim: "∽", backsimeq: "⋍", Backslash: "∖", Barv: "⫧", barvee: "⊽", barwed: "⌅", Barwed: "⌆", barwedge: "⌅", bbrk: "⎵", bbrktbrk: "⎶", bcong: "≌", bcy: "б", Bcy: "Б", bdquo: "„", becaus: "∵", because: "∵", Because: "∵", bemptyv: "⦰", bepsi: "϶", bernou: "ℬ", Bernoullis: "ℬ", beta: "β", Beta: "Β", beth: "ℶ", between: "≬", bfr: "𝔟", Bfr: "𝔅", bigcap: "⋂", bigcirc: "◯", bigcup: "⋃", bigodot: "⨀", bigoplus: "⨁", bigotimes: "⨂", bigsqcup: "⨆", bigstar: "★", bigtriangledown: "▽", bigtriangleup: "△", biguplus: "⨄", bigvee: "⋁", bigwedge: "⋀", bkarow: "⤍", blacklozenge: "⧫", blacksquare: "▪", blacktriangle: "▴", blacktriangledown: "▾", blacktriangleleft: "◂", blacktriangleright: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bnot: "⌐", bNot: "⫭", bopf: "𝕓", Bopf: "𝔹", bot: "⊥", bottom: "⊥", bowtie: "⋈", boxbox: "⧉", boxdl: "┐", boxdL: "╕", boxDl: "╖", boxDL: "╗", boxdr: "┌", boxdR: "╒", boxDr: "╓", boxDR: "╔", boxh: "─", boxH: "═", boxhd: "┬", boxhD: "╥", boxHd: "╤", boxHD: "╦", boxhu: "┴", boxhU: "╨", boxHu: "╧", boxHU: "╩", boxminus: "⊟", boxplus: "⊞", boxtimes: "⊠", boxul: "┘", boxuL: "╛", boxUl: "╜", boxUL: "╝", boxur: "└", boxuR: "╘", boxUr: "╙", boxUR: "╚", boxv: "│", boxV: "║", boxvh: "┼", boxvH: "╪", boxVh: "╫", boxVH: "╬", boxvl: "┤", boxvL: "╡", boxVl: "╢", boxVL: "╣", boxvr: "├", boxvR: "╞", boxVr: "╟", boxVR: "╠", bprime: "‵", breve: "˘", Breve: "˘", brvbar: "¦", bscr: "𝒷", Bscr: "ℬ", bsemi: "⁏", bsim: "∽", bsime: "⋍", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bump: "≎", bumpe: "≏", bumpE: "⪮", bumpeq: "≏", Bumpeq: "≎", cacute: "ć", Cacute: "Ć", cap: "∩", Cap: "⋒", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", CapitalDifferentialD: "ⅅ", caps: "∩︀", caret: "⁁", caron: "ˇ", Cayleys: "ℭ", ccaps: "⩍", ccaron: "č", Ccaron: "Č", ccedil: "ç", Ccedil: "Ç", ccirc: "ĉ", Ccirc: "Ĉ", Cconint: "∰", ccups: "⩌", ccupssm: "⩐", cdot: "ċ", Cdot: "Ċ", cedil: "¸", Cedilla: "¸", cemptyv: "⦲", cent: "¢", centerdot: "·", CenterDot: "·", cfr: "𝔠", Cfr: "ℭ", chcy: "ч", CHcy: "Ч", check: "✓", checkmark: "✓", chi: "χ", Chi: "Χ", cir: "○", circ: "ˆ", circeq: "≗", circlearrowleft: "↺", circlearrowright: "↻", circledast: "⊛", circledcirc: "⊚", circleddash: "⊝", CircleDot: "⊙", circledR: "®", circledS: "Ⓢ", CircleMinus: "⊖", CirclePlus: "⊕", CircleTimes: "⊗", cire: "≗", cirE: "⧃", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", ClockwiseContourIntegral: "∲", CloseCurlyDoubleQuote: "”", CloseCurlyQuote: "’", clubs: "♣", clubsuit: "♣", colon: ":", Colon: "∷", colone: "≔", Colone: "⩴", coloneq: "≔", comma: ",", commat: "@", comp: "∁", compfn: "∘", complement: "∁", complexes: "ℂ", cong: "≅", congdot: "⩭", Congruent: "≡", conint: "∮", Conint: "∯", ContourIntegral: "∮", copf: "𝕔", Copf: "ℂ", coprod: "∐", Coproduct: "∐", copy: "©", COPY: "©", copysr: "℗", CounterClockwiseContourIntegral: "∳", crarr: "↵", cross: "✗", Cross: "⨯", cscr: "𝒸", Cscr: "𝒞", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", cuesc: "⋟", cularr: "↶", cularrp: "⤽", cup: "∪", Cup: "⋓", cupbrcap: "⩈", cupcap: "⩆", CupCap: "≍", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curarrm: "⤼", curlyeqprec: "⋞", curlyeqsucc: "⋟", curlyvee: "⋎", curlywedge: "⋏", curren: "¤", curvearrowleft: "↶", curvearrowright: "↷", cuvee: "⋎", cuwed: "⋏", cwconint: "∲", cwint: "∱", cylcty: "⌭", dagger: "†", Dagger: "‡", daleth: "ℸ", darr: "↓", dArr: "⇓", Darr: "↡", dash: "‐", dashv: "⊣", Dashv: "⫤", dbkarow: "⤏", dblac: "˝", dcaron: "ď", Dcaron: "Ď", dcy: "д", Dcy: "Д", dd: "ⅆ", DD: "ⅅ", ddagger: "‡", ddarr: "⇊", DDotrahd: "⤑", ddotseq: "⩷", deg: "°", Del: "∇", delta: "δ", Delta: "Δ", demptyv: "⦱", dfisht: "⥿", dfr: "𝔡", Dfr: "𝔇", dHar: "⥥", dharl: "⇃", dharr: "⇂", DiacriticalAcute: "´", DiacriticalDot: "˙", DiacriticalDoubleAcute: "˝", DiacriticalGrave: "`", DiacriticalTilde: "˜", diam: "⋄", diamond: "⋄", Diamond: "⋄", diamondsuit: "♦", diams: "♦", die: "¨", DifferentialD: "ⅆ", digamma: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", djcy: "ђ", DJcy: "Ђ", dlcorn: "⌞", dlcrop: "⌍", dollar: "$", dopf: "𝕕", Dopf: "𝔻", dot: "˙", Dot: "¨", DotDot: "⃜", doteq: "≐", doteqdot: "≑", DotEqual: "≐", dotminus: "∸", dotplus: "∔", dotsquare: "⊡", doublebarwedge: "⌆", DoubleContourIntegral: "∯", DoubleDot: "¨", DoubleDownArrow: "⇓", DoubleLeftArrow: "⇐", DoubleLeftRightArrow: "⇔", DoubleLeftTee: "⫤", DoubleLongLeftArrow: "⟸", DoubleLongLeftRightArrow: "⟺", DoubleLongRightArrow: "⟹", DoubleRightArrow: "⇒", DoubleRightTee: "⊨", DoubleUpArrow: "⇑", DoubleUpDownArrow: "⇕", DoubleVerticalBar: "∥", downarrow: "↓", Downarrow: "⇓", DownArrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", DownBreve: "̑", downdownarrows: "⇊", downharpoonleft: "⇃", downharpoonright: "⇂", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", DownTeeArrow: "↧", drbkarow: "⤐", drcorn: "⌟", drcrop: "⌌", dscr: "𝒹", Dscr: "𝒟", dscy: "ѕ", DScy: "Ѕ", dsol: "⧶", dstrok: "đ", Dstrok: "Đ", dtdot: "⋱", dtri: "▿", dtrif: "▾", duarr: "⇵", duhar: "⥯", dwangle: "⦦", dzcy: "џ", DZcy: "Џ", dzigrarr: "⟿", eacute: "é", Eacute: "É", easter: "⩮", ecaron: "ě", Ecaron: "Ě", ecir: "≖", ecirc: "ê", Ecirc: "Ê", ecolon: "≕", ecy: "э", Ecy: "Э", eDDot: "⩷", edot: "ė", eDot: "≑", Edot: "Ė", ee: "ⅇ", efDot: "≒", efr: "𝔢", Efr: "𝔈", eg: "⪚", egrave: "è", Egrave: "È", egs: "⪖", egsdot: "⪘", el: "⪙", Element: "∈", elinters: "⏧", ell: "ℓ", els: "⪕", elsdot: "⪗", emacr: "ē", Emacr: "Ē", empty: "∅", emptyset: "∅", EmptySmallSquare: "◻", emptyv: "∅", EmptyVerySmallSquare: "▫", emsp: " ", emsp13: " ", emsp14: " ", eng: "ŋ", ENG: "Ŋ", ensp: " ", eogon: "ę", Eogon: "Ę", eopf: "𝕖", Eopf: "𝔼", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", epsilon: "ε", Epsilon: "Ε", epsiv: "ϵ", eqcirc: "≖", eqcolon: "≕", eqsim: "≂", eqslantgtr: "⪖", eqslantless: "⪕", Equal: "⩵", equals: "=", EqualTilde: "≂", equest: "≟", Equilibrium: "⇌", equiv: "≡", equivDD: "⩸", eqvparsl: "⧥", erarr: "⥱", erDot: "≓", escr: "ℯ", Escr: "ℰ", esdot: "≐", esim: "≂", Esim: "⩳", eta: "η", Eta: "Η", eth: "ð", ETH: "Ð", euml: "ë", Euml: "Ë", euro: "€", excl: "!", exist: "∃", Exists: "∃", expectation: "ℰ", exponentiale: "ⅇ", ExponentialE: "ⅇ", fallingdotseq: "≒", fcy: "ф", Fcy: "Ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", ffr: "𝔣", Ffr: "𝔉", filig: "fi", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", fopf: "𝕗", Fopf: "𝔽", forall: "∀", ForAll: "∀", fork: "⋔", forkv: "⫙", Fouriertrf: "ℱ", fpartint: "⨍", frac12: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", fscr: "𝒻", Fscr: "ℱ", gacute: "ǵ", gamma: "γ", Gamma: "Γ", gammad: "ϝ", Gammad: "Ϝ", gap: "⪆", gbreve: "ğ", Gbreve: "Ğ", Gcedil: "Ģ", gcirc: "ĝ", Gcirc: "Ĝ", gcy: "г", Gcy: "Г", gdot: "ġ", Gdot: "Ġ", ge: "≥", gE: "≧", gel: "⋛", gEl: "⪌", geq: "≥", geqq: "≧", geqslant: "⩾", ges: "⩾", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", gfr: "𝔤", Gfr: "𝔊", gg: "≫", Gg: "⋙", ggg: "⋙", gimel: "ℷ", gjcy: "ѓ", GJcy: "Ѓ", gl: "≷", gla: "⪥", glE: "⪒", glj: "⪤", gnap: "⪊", gnapprox: "⪊", gne: "⪈", gnE: "≩", gneq: "⪈", gneqq: "≩", gnsim: "⋧", gopf: "𝕘", Gopf: "𝔾", grave: "`", GreaterEqual: "≥", GreaterEqualLess: "⋛", GreaterFullEqual: "≧", GreaterGreater: "⪢", GreaterLess: "≷", GreaterSlantEqual: "⩾", GreaterTilde: "≳", gscr: "ℊ", Gscr: "𝒢", gsim: "≳", gsime: "⪎", gsiml: "⪐", gt: ">", Gt: "≫", GT: ">", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrapprox: "⪆", gtrarr: "⥸", gtrdot: "⋗", gtreqless: "⋛", gtreqqless: "⪌", gtrless: "≷", gtrsim: "≳", gvertneqq: "≩︀", gvnE: "≩︀", Hacek: "ˇ", hairsp: " ", half: "½", hamilt: "ℋ", hardcy: "ъ", HARDcy: "Ъ", harr: "↔", hArr: "⇔", harrcir: "⥈", harrw: "↭", Hat: "^", hbar: "ℏ", hcirc: "ĥ", Hcirc: "Ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", hercon: "⊹", hfr: "𝔥", Hfr: "ℌ", HilbertSpace: "ℋ", hksearow: "⤥", hkswarow: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", hookrightarrow: "↪", hopf: "𝕙", Hopf: "ℍ", horbar: "―", HorizontalLine: "─", hscr: "𝒽", Hscr: "ℋ", hslash: "ℏ", hstrok: "ħ", Hstrok: "Ħ", HumpDownHump: "≎", HumpEqual: "≏", hybull: "⁃", hyphen: "‐", iacute: "í", Iacute: "Í", ic: "", icirc: "î", Icirc: "Î", icy: "и", Icy: "И", Idot: "İ", iecy: "е", IEcy: "Е", iexcl: "¡", iff: "⇔", ifr: "𝔦", Ifr: "ℑ", igrave: "ì", Igrave: "Ì", ii: "ⅈ", iiiint: "⨌", iiint: "∭", iinfin: "⧜", iiota: "℩", ijlig: "ij", IJlig: "IJ", Im: "ℑ", imacr: "ī", Imacr: "Ī", image: "ℑ", ImaginaryI: "ⅈ", imagline: "ℐ", imagpart: "ℑ", imath: "ı", imof: "⊷", imped: "Ƶ", Implies: "⇒", in: "∈", incare: "℅", infin: "∞", infintie: "⧝", inodot: "ı", int: "∫", Int: "∬", intcal: "⊺", integers: "ℤ", Integral: "∫", intercal: "⊺", Intersection: "⋂", intlarhk: "⨗", intprod: "⨼", InvisibleComma: "", InvisibleTimes: "", iocy: "ё", IOcy: "Ё", iogon: "į", Iogon: "Į", iopf: "𝕚", Iopf: "𝕀", iota: "ι", Iota: "Ι", iprod: "⨼", iquest: "¿", iscr: "𝒾", Iscr: "ℐ", isin: "∈", isindot: "⋵", isinE: "⋹", isins: "⋴", isinsv: "⋳", isinv: "∈", it: "", itilde: "ĩ", Itilde: "Ĩ", iukcy: "і", Iukcy: "І", iuml: "ï", Iuml: "Ï", jcirc: "ĵ", Jcirc: "Ĵ", jcy: "й", Jcy: "Й", jfr: "𝔧", Jfr: "𝔍", jmath: "ȷ", jopf: "𝕛", Jopf: "𝕁", jscr: "𝒿", Jscr: "𝒥", jsercy: "ј", Jsercy: "Ј", jukcy: "є", Jukcy: "Є", kappa: "κ", Kappa: "Κ", kappav: "ϰ", kcedil: "ķ", Kcedil: "Ķ", kcy: "к", Kcy: "К", kfr: "𝔨", Kfr: "𝔎", kgreen: "ĸ", khcy: "х", KHcy: "Х", kjcy: "ќ", KJcy: "Ќ", kopf: "𝕜", Kopf: "𝕂", kscr: "𝓀", Kscr: "𝒦", lAarr: "⇚", lacute: "ĺ", Lacute: "Ĺ", laemptyv: "⦴", lagran: "ℒ", lambda: "λ", Lambda: "Λ", lang: "⟨", Lang: "⟪", langd: "⦑", langle: "⟨", lap: "⪅", Laplacetrf: "ℒ", laquo: "«", larr: "←", lArr: "⇐", Larr: "↞", larrb: "⇤", larrbfs: "⤟", larrfs: "⤝", larrhk: "↩", larrlp: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", lat: "⪫", latail: "⤙", lAtail: "⤛", late: "⪭", lates: "⪭︀", lbarr: "⤌", lBarr: "⤎", lbbrk: "❲", lbrace: "{", lbrack: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", lcaron: "ľ", Lcaron: "Ľ", lcedil: "ļ", Lcedil: "Ļ", lceil: "⌈", lcub: "{", lcy: "л", Lcy: "Л", ldca: "⤶", ldquo: "“", ldquor: "„", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", le: "≤", lE: "≦", LeftAngleBracket: "⟨", leftarrow: "←", Leftarrow: "⇐", LeftArrow: "←", LeftArrowBar: "⇤", LeftArrowRightArrow: "⇆", leftarrowtail: "↢", LeftCeiling: "⌈", LeftDoubleBracket: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", leftharpoondown: "↽", leftharpoonup: "↼", leftleftarrows: "⇇", leftrightarrow: "↔", Leftrightarrow: "⇔", LeftRightArrow: "↔", leftrightarrows: "⇆", leftrightharpoons: "⇋", leftrightsquigarrow: "↭", LeftRightVector: "⥎", LeftTee: "⊣", LeftTeeArrow: "↤", LeftTeeVector: "⥚", leftthreetimes: "⋋", LeftTriangle: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", LeftVectorBar: "⥒", leg: "⋚", lEg: "⪋", leq: "≤", leqq: "≦", leqslant: "⩽", les: "⩽", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessapprox: "⪅", lessdot: "⋖", lesseqgtr: "⋚", lesseqqgtr: "⪋", LessEqualGreater: "⋚", LessFullEqual: "≦", LessGreater: "≶", lessgtr: "≶", LessLess: "⪡", lesssim: "≲", LessSlantEqual: "⩽", LessTilde: "≲", lfisht: "⥼", lfloor: "⌊", lfr: "𝔩", Lfr: "𝔏", lg: "≶", lgE: "⪑", lHar: "⥢", lhard: "↽", lharu: "↼", lharul: "⥪", lhblk: "▄", ljcy: "љ", LJcy: "Љ", ll: "≪", Ll: "⋘", llarr: "⇇", llcorner: "⌞", Lleftarrow: "⇚", llhard: "⥫", lltri: "◺", lmidot: "ŀ", Lmidot: "Ŀ", lmoust: "⎰", lmoustache: "⎰", lnap: "⪉", lnapprox: "⪉", lne: "⪇", lnE: "≨", lneq: "⪇", lneqq: "≨", lnsim: "⋦", loang: "⟬", loarr: "⇽", lobrk: "⟦", longleftarrow: "⟵", Longleftarrow: "⟸", LongLeftArrow: "⟵", longleftrightarrow: "⟷", Longleftrightarrow: "⟺", LongLeftRightArrow: "⟷", longmapsto: "⟼", longrightarrow: "⟶", Longrightarrow: "⟹", LongRightArrow: "⟶", looparrowleft: "↫", looparrowright: "↬", lopar: "⦅", lopf: "𝕝", Lopf: "𝕃", loplus: "⨭", lotimes: "⨴", lowast: "∗", lowbar: "_", LowerLeftArrow: "↙", LowerRightArrow: "↘", loz: "◊", lozenge: "◊", lozf: "⧫", lpar: "(", lparlt: "⦓", lrarr: "⇆", lrcorner: "⌟", lrhar: "⇋", lrhard: "⥭", lrm: "", lrtri: "⊿", lsaquo: "‹", lscr: "𝓁", Lscr: "ℒ", lsh: "↰", Lsh: "↰", lsim: "≲", lsime: "⪍", lsimg: "⪏", lsqb: "[", lsquo: "‘", lsquor: "‚", lstrok: "ł", Lstrok: "Ł", lt: "<", Lt: "≪", LT: "<", ltcc: "⪦", ltcir: "⩹", ltdot: "⋖", lthree: "⋋", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltri: "◃", ltrie: "⊴", ltrif: "◂", ltrPar: "⦖", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", macr: "¯", male: "♂", malt: "✠", maltese: "✠", map: "↦", Map: "⤅", mapsto: "↦", mapstodown: "↧", mapstoleft: "↤", mapstoup: "↥", marker: "▮", mcomma: "⨩", mcy: "м", Mcy: "М", mdash: "—", mDDot: "∺", measuredangle: "∡", MediumSpace: " ", Mellintrf: "ℳ", mfr: "𝔪", Mfr: "𝔐", mho: "℧", micro: "µ", mid: "∣", midast: "*", midcir: "⫰", middot: "·", minus: "−", minusb: "⊟", minusd: "∸", minusdu: "⨪", MinusPlus: "∓", mlcp: "⫛", mldr: "…", mnplus: "∓", models: "⊧", mopf: "𝕞", Mopf: "𝕄", mp: "∓", mscr: "𝓂", Mscr: "ℳ", mstpos: "∾", mu: "μ", Mu: "Μ", multimap: "⊸", mumap: "⊸", nabla: "∇", nacute: "ń", Nacute: "Ń", nang: "∠⃒", nap: "≉", napE: "⩰̸", napid: "≋̸", napos: "ʼn", napprox: "≉", natur: "♮", natural: "♮", naturals: "ℕ", nbsp: " ", nbump: "≎̸", nbumpe: "≏̸", ncap: "⩃", ncaron: "ň", Ncaron: "Ň", ncedil: "ņ", Ncedil: "Ņ", ncong: "≇", ncongdot: "⩭̸", ncup: "⩂", ncy: "н", Ncy: "Н", ndash: "–", ne: "≠", nearhk: "⤤", nearr: "↗", neArr: "⇗", nearrow: "↗", nedot: "≐̸", NegativeMediumSpace: "", NegativeThickSpace: "", NegativeThinSpace: "", NegativeVeryThinSpace: "", nequiv: "≢", nesear: "⤨", nesim: "≂̸", NestedGreaterGreater: "≫", NestedLessLess: "≪", NewLine: `
|
|
1875
|
+
`, nexist: "∄", nexists: "∄", nfr: "𝔫", Nfr: "𝔑", nge: "≱", ngE: "≧̸", ngeq: "≱", ngeqq: "≧̸", ngeqslant: "⩾̸", nges: "⩾̸", nGg: "⋙̸", ngsim: "≵", ngt: "≯", nGt: "≫⃒", ngtr: "≯", nGtv: "≫̸", nharr: "↮", nhArr: "⇎", nhpar: "⫲", ni: "∋", nis: "⋼", nisd: "⋺", niv: "∋", njcy: "њ", NJcy: "Њ", nlarr: "↚", nlArr: "⇍", nldr: "‥", nle: "≰", nlE: "≦̸", nleftarrow: "↚", nLeftarrow: "⇍", nleftrightarrow: "↮", nLeftrightarrow: "⇎", nleq: "≰", nleqq: "≦̸", nleqslant: "⩽̸", nles: "⩽̸", nless: "≮", nLl: "⋘̸", nlsim: "≴", nlt: "≮", nLt: "≪⃒", nltri: "⋪", nltrie: "⋬", nLtv: "≪̸", nmid: "∤", NoBreak: "", NonBreakingSpace: " ", nopf: "𝕟", Nopf: "ℕ", not: "¬", Not: "⫬", NotCongruent: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", NotElement: "∉", NotEqual: "≠", NotEqualTilde: "≂̸", NotExists: "∄", NotGreater: "≯", NotGreaterEqual: "≱", NotGreaterFullEqual: "≧̸", NotGreaterGreater: "≫̸", NotGreaterLess: "≹", NotGreaterSlantEqual: "⩾̸", NotGreaterTilde: "≵", NotHumpDownHump: "≎̸", NotHumpEqual: "≏̸", notin: "∉", notindot: "⋵̸", notinE: "⋹̸", notinva: "∉", notinvb: "⋷", notinvc: "⋶", NotLeftTriangle: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", NotLess: "≮", NotLessEqual: "≰", NotLessGreater: "≸", NotLessLess: "≪̸", NotLessSlantEqual: "⩽̸", NotLessTilde: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", notni: "∌", notniva: "∌", notnivb: "⋾", notnivc: "⋽", NotPrecedes: "⊀", NotPrecedesEqual: "⪯̸", NotPrecedesSlantEqual: "⋠", NotReverseElement: "∌", NotRightTriangle: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", NotSubset: "⊂⃒", NotSubsetEqual: "⊈", NotSucceeds: "⊁", NotSucceedsEqual: "⪰̸", NotSucceedsSlantEqual: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", NotSupersetEqual: "⊉", NotTilde: "≁", NotTildeEqual: "≄", NotTildeFullEqual: "≇", NotTildeTilde: "≉", NotVerticalBar: "∤", npar: "∦", nparallel: "∦", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", npr: "⊀", nprcue: "⋠", npre: "⪯̸", nprec: "⊀", npreceq: "⪯̸", nrarr: "↛", nrArr: "⇏", nrarrc: "⤳̸", nrarrw: "↝̸", nrightarrow: "↛", nRightarrow: "⇏", nrtri: "⋫", nrtrie: "⋭", nsc: "⊁", nsccue: "⋡", nsce: "⪰̸", nscr: "𝓃", Nscr: "𝒩", nshortmid: "∤", nshortparallel: "∦", nsim: "≁", nsime: "≄", nsimeq: "≄", nsmid: "∤", nspar: "∦", nsqsube: "⋢", nsqsupe: "⋣", nsub: "⊄", nsube: "⊈", nsubE: "⫅̸", nsubset: "⊂⃒", nsubseteq: "⊈", nsubseteqq: "⫅̸", nsucc: "⊁", nsucceq: "⪰̸", nsup: "⊅", nsupe: "⊉", nsupE: "⫆̸", nsupset: "⊃⃒", nsupseteq: "⊉", nsupseteqq: "⫆̸", ntgl: "≹", ntilde: "ñ", Ntilde: "Ñ", ntlg: "≸", ntriangleleft: "⋪", ntrianglelefteq: "⋬", ntriangleright: "⋫", ntrianglerighteq: "⋭", nu: "ν", Nu: "Ν", num: "#", numero: "№", numsp: " ", nvap: "≍⃒", nvdash: "⊬", nvDash: "⊭", nVdash: "⊮", nVDash: "⊯", nvge: "≥⃒", nvgt: ">⃒", nvHarr: "⤄", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwarhk: "⤣", nwarr: "↖", nwArr: "⇖", nwarrow: "↖", nwnear: "⤧", oacute: "ó", Oacute: "Ó", oast: "⊛", ocir: "⊚", ocirc: "ô", Ocirc: "Ô", ocy: "о", Ocy: "О", odash: "⊝", odblac: "ő", Odblac: "Ő", odiv: "⨸", odot: "⊙", odsold: "⦼", oelig: "œ", OElig: "Œ", ofcir: "⦿", ofr: "𝔬", Ofr: "𝔒", ogon: "˛", ograve: "ò", Ograve: "Ò", ogt: "⧁", ohbar: "⦵", ohm: "Ω", oint: "∮", olarr: "↺", olcir: "⦾", olcross: "⦻", oline: "‾", olt: "⧀", omacr: "ō", Omacr: "Ō", omega: "ω", Omega: "Ω", omicron: "ο", Omicron: "Ο", omid: "⦶", ominus: "⊖", oopf: "𝕠", Oopf: "𝕆", opar: "⦷", OpenCurlyDoubleQuote: "“", OpenCurlyQuote: "‘", operp: "⦹", oplus: "⊕", or: "∨", Or: "⩔", orarr: "↻", ord: "⩝", order: "ℴ", orderof: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oS: "Ⓢ", oscr: "ℴ", Oscr: "𝒪", oslash: "ø", Oslash: "Ø", osol: "⊘", otilde: "õ", Otilde: "Õ", otimes: "⊗", Otimes: "⨷", otimesas: "⨶", ouml: "ö", Ouml: "Ö", ovbar: "⌽", OverBar: "‾", OverBrace: "⏞", OverBracket: "⎴", OverParenthesis: "⏜", par: "∥", para: "¶", parallel: "∥", parsim: "⫳", parsl: "⫽", part: "∂", PartialD: "∂", pcy: "п", Pcy: "П", percnt: "%", period: ".", permil: "‰", perp: "⊥", pertenk: "‱", pfr: "𝔭", Pfr: "𝔓", phi: "φ", Phi: "Φ", phiv: "ϕ", phmmat: "ℳ", phone: "☎", pi: "π", Pi: "Π", pitchfork: "⋔", piv: "ϖ", planck: "ℏ", planckh: "ℎ", plankv: "ℏ", plus: "+", plusacir: "⨣", plusb: "⊞", pluscir: "⨢", plusdo: "∔", plusdu: "⨥", pluse: "⩲", PlusMinus: "±", plusmn: "±", plussim: "⨦", plustwo: "⨧", pm: "±", Poincareplane: "ℌ", pointint: "⨕", popf: "𝕡", Popf: "ℙ", pound: "£", pr: "≺", Pr: "⪻", prap: "⪷", prcue: "≼", pre: "⪯", prE: "⪳", prec: "≺", precapprox: "⪷", preccurlyeq: "≼", Precedes: "≺", PrecedesEqual: "⪯", PrecedesSlantEqual: "≼", PrecedesTilde: "≾", preceq: "⪯", precnapprox: "⪹", precneqq: "⪵", precnsim: "⋨", precsim: "≾", prime: "′", Prime: "″", primes: "ℙ", prnap: "⪹", prnE: "⪵", prnsim: "⋨", prod: "∏", Product: "∏", profalar: "⌮", profline: "⌒", profsurf: "⌓", prop: "∝", Proportion: "∷", Proportional: "∝", propto: "∝", prsim: "≾", prurel: "⊰", pscr: "𝓅", Pscr: "𝒫", psi: "ψ", Psi: "Ψ", puncsp: " ", qfr: "𝔮", Qfr: "𝔔", qint: "⨌", qopf: "𝕢", Qopf: "ℚ", qprime: "⁗", qscr: "𝓆", Qscr: "𝒬", quaternions: "ℍ", quatint: "⨖", quest: "?", questeq: "≟", quot: '"', QUOT: '"', rAarr: "⇛", race: "∽̱", racute: "ŕ", Racute: "Ŕ", radic: "√", raemptyv: "⦳", rang: "⟩", Rang: "⟫", rangd: "⦒", range: "⦥", rangle: "⟩", raquo: "»", rarr: "→", rArr: "⇒", Rarr: "↠", rarrap: "⥵", rarrb: "⇥", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrhk: "↪", rarrlp: "↬", rarrpl: "⥅", rarrsim: "⥴", rarrtl: "↣", Rarrtl: "⤖", rarrw: "↝", ratail: "⤚", rAtail: "⤜", ratio: "∶", rationals: "ℚ", rbarr: "⤍", rBarr: "⤏", RBarr: "⤐", rbbrk: "❳", rbrace: "}", rbrack: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", rcaron: "ř", Rcaron: "Ř", rcedil: "ŗ", Rcedil: "Ŗ", rceil: "⌉", rcub: "}", rcy: "р", Rcy: "Р", rdca: "⤷", rdldhar: "⥩", rdquo: "”", rdquor: "”", rdsh: "↳", Re: "ℜ", real: "ℜ", realine: "ℛ", realpart: "ℜ", reals: "ℝ", rect: "▭", reg: "®", REG: "®", ReverseElement: "∋", ReverseEquilibrium: "⇋", ReverseUpEquilibrium: "⥯", rfisht: "⥽", rfloor: "⌋", rfr: "𝔯", Rfr: "ℜ", rHar: "⥤", rhard: "⇁", rharu: "⇀", rharul: "⥬", rho: "ρ", Rho: "Ρ", rhov: "ϱ", RightAngleBracket: "⟩", rightarrow: "→", Rightarrow: "⇒", RightArrow: "→", RightArrowBar: "⇥", RightArrowLeftArrow: "⇄", rightarrowtail: "↣", RightCeiling: "⌉", RightDoubleBracket: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rightharpoondown: "⇁", rightharpoonup: "⇀", rightleftarrows: "⇄", rightleftharpoons: "⇌", rightrightarrows: "⇉", rightsquigarrow: "↝", RightTee: "⊢", RightTeeArrow: "↦", RightTeeVector: "⥛", rightthreetimes: "⋌", RightTriangle: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", RightVectorBar: "⥓", ring: "˚", risingdotseq: "≓", rlarr: "⇄", rlhar: "⇌", rlm: "", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", robrk: "⟧", ropar: "⦆", ropf: "𝕣", Ropf: "ℝ", roplus: "⨮", rotimes: "⨵", RoundImplies: "⥰", rpar: ")", rpargt: "⦔", rppolint: "⨒", rrarr: "⇉", Rrightarrow: "⇛", rsaquo: "›", rscr: "𝓇", Rscr: "ℛ", rsh: "↱", Rsh: "↱", rsqb: "]", rsquo: "’", rsquor: "’", rthree: "⋌", rtimes: "⋊", rtri: "▹", rtrie: "⊵", rtrif: "▸", rtriltri: "⧎", RuleDelayed: "⧴", ruluhar: "⥨", rx: "℞", sacute: "ś", Sacute: "Ś", sbquo: "‚", sc: "≻", Sc: "⪼", scap: "⪸", scaron: "š", Scaron: "Š", sccue: "≽", sce: "⪰", scE: "⪴", scedil: "ş", Scedil: "Ş", scirc: "ŝ", Scirc: "Ŝ", scnap: "⪺", scnE: "⪶", scnsim: "⋩", scpolint: "⨓", scsim: "≿", scy: "с", Scy: "С", sdot: "⋅", sdotb: "⊡", sdote: "⩦", searhk: "⤥", searr: "↘", seArr: "⇘", searrow: "↘", sect: "§", semi: ";", seswar: "⤩", setminus: "∖", setmn: "∖", sext: "✶", sfr: "𝔰", Sfr: "𝔖", sfrown: "⌢", sharp: "♯", shchcy: "щ", SHCHcy: "Щ", shcy: "ш", SHcy: "Ш", ShortDownArrow: "↓", ShortLeftArrow: "←", shortmid: "∣", shortparallel: "∥", ShortRightArrow: "→", ShortUpArrow: "↑", shy: "", sigma: "σ", Sigma: "Σ", sigmaf: "ς", sigmav: "ς", sim: "∼", simdot: "⩪", sime: "≃", simeq: "≃", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", slarr: "←", SmallCircle: "∘", smallsetminus: "∖", smashp: "⨳", smeparsl: "⧤", smid: "∣", smile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", softcy: "ь", SOFTcy: "Ь", sol: "/", solb: "⧄", solbar: "⌿", sopf: "𝕤", Sopf: "𝕊", spades: "♠", spadesuit: "♠", spar: "∥", sqcap: "⊓", sqcaps: "⊓︀", sqcup: "⊔", sqcups: "⊔︀", Sqrt: "√", sqsub: "⊏", sqsube: "⊑", sqsubset: "⊏", sqsubseteq: "⊑", sqsup: "⊐", sqsupe: "⊒", sqsupset: "⊐", sqsupseteq: "⊒", squ: "□", square: "□", Square: "□", SquareIntersection: "⊓", SquareSubset: "⊏", SquareSubsetEqual: "⊑", SquareSuperset: "⊐", SquareSupersetEqual: "⊒", SquareUnion: "⊔", squarf: "▪", squf: "▪", srarr: "→", sscr: "𝓈", Sscr: "𝒮", ssetmn: "∖", ssmile: "⌣", sstarf: "⋆", star: "☆", Star: "⋆", starf: "★", straightepsilon: "ϵ", straightphi: "ϕ", strns: "¯", sub: "⊂", Sub: "⋐", subdot: "⪽", sube: "⊆", subE: "⫅", subedot: "⫃", submult: "⫁", subne: "⊊", subnE: "⫋", subplus: "⪿", subrarr: "⥹", subset: "⊂", Subset: "⋐", subseteq: "⊆", subseteqq: "⫅", SubsetEqual: "⊆", subsetneq: "⊊", subsetneqq: "⫋", subsim: "⫇", subsub: "⫕", subsup: "⫓", succ: "≻", succapprox: "⪸", succcurlyeq: "≽", Succeeds: "≻", SucceedsEqual: "⪰", SucceedsSlantEqual: "≽", SucceedsTilde: "≿", succeq: "⪰", succnapprox: "⪺", succneqq: "⪶", succnsim: "⋩", succsim: "≿", SuchThat: "∋", sum: "∑", Sum: "∑", sung: "♪", sup: "⊃", Sup: "⋑", sup1: "¹", sup2: "²", sup3: "³", supdot: "⪾", supdsub: "⫘", supe: "⊇", supE: "⫆", supedot: "⫄", Superset: "⊃", SupersetEqual: "⊇", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supne: "⊋", supnE: "⫌", supplus: "⫀", supset: "⊃", Supset: "⋑", supseteq: "⊇", supseteqq: "⫆", supsetneq: "⊋", supsetneqq: "⫌", supsim: "⫈", supsub: "⫔", supsup: "⫖", swarhk: "⤦", swarr: "↙", swArr: "⇙", swarrow: "↙", swnwar: "⤪", szlig: "ß", Tab: " ", target: "⌖", tau: "τ", Tau: "Τ", tbrk: "⎴", tcaron: "ť", Tcaron: "Ť", tcedil: "ţ", Tcedil: "Ţ", tcy: "т", Tcy: "Т", tdot: "⃛", telrec: "⌕", tfr: "𝔱", Tfr: "𝔗", there4: "∴", therefore: "∴", Therefore: "∴", theta: "θ", Theta: "Θ", thetasym: "ϑ", thetav: "ϑ", thickapprox: "≈", thicksim: "∼", ThickSpace: " ", thinsp: " ", ThinSpace: " ", thkap: "≈", thksim: "∼", thorn: "þ", THORN: "Þ", tilde: "˜", Tilde: "∼", TildeEqual: "≃", TildeFullEqual: "≅", TildeTilde: "≈", times: "×", timesb: "⊠", timesbar: "⨱", timesd: "⨰", tint: "∭", toea: "⤨", top: "⊤", topbot: "⌶", topcir: "⫱", topf: "𝕥", Topf: "𝕋", topfork: "⫚", tosa: "⤩", tprime: "‴", trade: "™", TRADE: "™", triangle: "▵", triangledown: "▿", triangleleft: "◃", trianglelefteq: "⊴", triangleq: "≜", triangleright: "▹", trianglerighteq: "⊵", tridot: "◬", trie: "≜", triminus: "⨺", TripleDot: "⃛", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", tscr: "𝓉", Tscr: "𝒯", tscy: "ц", TScy: "Ц", tshcy: "ћ", TSHcy: "Ћ", tstrok: "ŧ", Tstrok: "Ŧ", twixt: "≬", twoheadleftarrow: "↞", twoheadrightarrow: "↠", uacute: "ú", Uacute: "Ú", uarr: "↑", uArr: "⇑", Uarr: "↟", Uarrocir: "⥉", ubrcy: "ў", Ubrcy: "Ў", ubreve: "ŭ", Ubreve: "Ŭ", ucirc: "û", Ucirc: "Û", ucy: "у", Ucy: "У", udarr: "⇅", udblac: "ű", Udblac: "Ű", udhar: "⥮", ufisht: "⥾", ufr: "𝔲", Ufr: "𝔘", ugrave: "ù", Ugrave: "Ù", uHar: "⥣", uharl: "↿", uharr: "↾", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", umacr: "ū", Umacr: "Ū", uml: "¨", UnderBar: "_", UnderBrace: "⏟", UnderBracket: "⎵", UnderParenthesis: "⏝", Union: "⋃", UnionPlus: "⊎", uogon: "ų", Uogon: "Ų", uopf: "𝕦", Uopf: "𝕌", uparrow: "↑", Uparrow: "⇑", UpArrow: "↑", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", updownarrow: "↕", Updownarrow: "⇕", UpDownArrow: "↕", UpEquilibrium: "⥮", upharpoonleft: "↿", upharpoonright: "↾", uplus: "⊎", UpperLeftArrow: "↖", UpperRightArrow: "↗", upsi: "υ", Upsi: "ϒ", upsih: "ϒ", upsilon: "υ", Upsilon: "Υ", UpTee: "⊥", UpTeeArrow: "↥", upuparrows: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", uring: "ů", Uring: "Ů", urtri: "◹", uscr: "𝓊", Uscr: "𝒰", utdot: "⋰", utilde: "ũ", Utilde: "Ũ", utri: "▵", utrif: "▴", uuarr: "⇈", uuml: "ü", Uuml: "Ü", uwangle: "⦧", vangrt: "⦜", varepsilon: "ϵ", varkappa: "ϰ", varnothing: "∅", varphi: "ϕ", varpi: "ϖ", varpropto: "∝", varr: "↕", vArr: "⇕", varrho: "ϱ", varsigma: "ς", varsubsetneq: "⊊︀", varsubsetneqq: "⫋︀", varsupsetneq: "⊋︀", varsupsetneqq: "⫌︀", vartheta: "ϑ", vartriangleleft: "⊲", vartriangleright: "⊳", vBar: "⫨", Vbar: "⫫", vBarv: "⫩", vcy: "в", Vcy: "В", vdash: "⊢", vDash: "⊨", Vdash: "⊩", VDash: "⊫", Vdashl: "⫦", vee: "∨", Vee: "⋁", veebar: "⊻", veeeq: "≚", vellip: "⋮", verbar: "|", Verbar: "‖", vert: "|", Vert: "‖", VerticalBar: "∣", VerticalLine: "|", VerticalSeparator: "❘", VerticalTilde: "≀", VeryThinSpace: " ", vfr: "𝔳", Vfr: "𝔙", vltri: "⊲", vnsub: "⊂⃒", vnsup: "⊃⃒", vopf: "𝕧", Vopf: "𝕍", vprop: "∝", vrtri: "⊳", vscr: "𝓋", Vscr: "𝒱", vsubne: "⊊︀", vsubnE: "⫋︀", vsupne: "⊋︀", vsupnE: "⫌︀", Vvdash: "⊪", vzigzag: "⦚", wcirc: "ŵ", Wcirc: "Ŵ", wedbar: "⩟", wedge: "∧", Wedge: "⋀", wedgeq: "≙", weierp: "℘", wfr: "𝔴", Wfr: "𝔚", wopf: "𝕨", Wopf: "𝕎", wp: "℘", wr: "≀", wreath: "≀", wscr: "𝓌", Wscr: "𝒲", xcap: "⋂", xcirc: "◯", xcup: "⋃", xdtri: "▽", xfr: "𝔵", Xfr: "𝔛", xharr: "⟷", xhArr: "⟺", xi: "ξ", Xi: "Ξ", xlarr: "⟵", xlArr: "⟸", xmap: "⟼", xnis: "⋻", xodot: "⨀", xopf: "𝕩", Xopf: "𝕏", xoplus: "⨁", xotime: "⨂", xrarr: "⟶", xrArr: "⟹", xscr: "𝓍", Xscr: "𝒳", xsqcup: "⨆", xuplus: "⨄", xutri: "△", xvee: "⋁", xwedge: "⋀", yacute: "ý", Yacute: "Ý", yacy: "я", YAcy: "Я", ycirc: "ŷ", Ycirc: "Ŷ", ycy: "ы", Ycy: "Ы", yen: "¥", yfr: "𝔶", Yfr: "𝔜", yicy: "ї", YIcy: "Ї", yopf: "𝕪", Yopf: "𝕐", yscr: "𝓎", Yscr: "𝒴", yucy: "ю", YUcy: "Ю", yuml: "ÿ", Yuml: "Ÿ", zacute: "ź", Zacute: "Ź", zcaron: "ž", Zcaron: "Ž", zcy: "з", Zcy: "З", zdot: "ż", Zdot: "Ż", zeetrf: "ℨ", ZeroWidthSpace: "", zeta: "ζ", Zeta: "Ζ", zfr: "𝔷", Zfr: "ℨ", zhcy: "ж", ZHcy: "Ж", zigrarr: "⇝", zopf: "𝕫", Zopf: "ℤ", zscr: "𝓏", Zscr: "𝒵", zwj: "", zwnj: "" }, s = { aacute: "á", Aacute: "Á", acirc: "â", Acirc: "Â", acute: "´", aelig: "æ", AElig: "Æ", agrave: "à", Agrave: "À", amp: "&", AMP: "&", aring: "å", Aring: "Å", atilde: "ã", Atilde: "Ã", auml: "ä", Auml: "Ä", brvbar: "¦", ccedil: "ç", Ccedil: "Ç", cedil: "¸", cent: "¢", copy: "©", COPY: "©", curren: "¤", deg: "°", divide: "÷", eacute: "é", Eacute: "É", ecirc: "ê", Ecirc: "Ê", egrave: "è", Egrave: "È", eth: "ð", ETH: "Ð", euml: "ë", Euml: "Ë", frac12: "½", frac14: "¼", frac34: "¾", gt: ">", GT: ">", iacute: "í", Iacute: "Í", icirc: "î", Icirc: "Î", iexcl: "¡", igrave: "ì", Igrave: "Ì", iquest: "¿", iuml: "ï", Iuml: "Ï", laquo: "«", lt: "<", LT: "<", macr: "¯", micro: "µ", middot: "·", nbsp: " ", not: "¬", ntilde: "ñ", Ntilde: "Ñ", oacute: "ó", Oacute: "Ó", ocirc: "ô", Ocirc: "Ô", ograve: "ò", Ograve: "Ò", ordf: "ª", ordm: "º", oslash: "ø", Oslash: "Ø", otilde: "õ", Otilde: "Õ", ouml: "ö", Ouml: "Ö", para: "¶", plusmn: "±", pound: "£", quot: '"', QUOT: '"', raquo: "»", reg: "®", REG: "®", sect: "§", shy: "", sup1: "¹", sup2: "²", sup3: "³", szlig: "ß", thorn: "þ", THORN: "Þ", times: "×", uacute: "ú", Uacute: "Ú", ucirc: "û", Ucirc: "Û", ugrave: "ù", Ugrave: "Ù", uml: "¨", uuml: "ü", Uuml: "Ü", yacute: "ý", Yacute: "Ý", yen: "¥", yuml: "ÿ" }, h = { 0: "�", 128: "€", 130: "‚", 131: "ƒ", 132: "„", 133: "…", 134: "†", 135: "‡", 136: "ˆ", 137: "‰", 138: "Š", 139: "‹", 140: "Œ", 142: "Ž", 145: "‘", 146: "’", 147: "“", 148: "”", 149: "•", 150: "–", 151: "—", 152: "˜", 153: "™", 154: "š", 155: "›", 156: "œ", 158: "ž", 159: "Ÿ" }, T = [1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 64976, 64977, 64978, 64979, 64980, 64981, 64982, 64983, 64984, 64985, 64986, 64987, 64988, 64989, 64990, 64991, 64992, 64993, 64994, 64995, 64996, 64997, 64998, 64999, 65e3, 65001, 65002, 65003, 65004, 65005, 65006, 65007, 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111], y = String.fromCharCode, O = {}, m = O.hasOwnProperty, v = function(B, S) {
|
|
1876
|
+
return m.call(B, S);
|
|
1877
|
+
}, f = function(B, S) {
|
|
1878
|
+
for (var P = -1, K = B.length; ++P < K; )
|
|
1879
|
+
if (B[P] == S)
|
|
1880
|
+
return !0;
|
|
1881
|
+
return !1;
|
|
1882
|
+
}, C = function(B, S) {
|
|
1883
|
+
if (!B)
|
|
1884
|
+
return S;
|
|
1885
|
+
var P = {}, K;
|
|
1886
|
+
for (K in S)
|
|
1887
|
+
P[K] = v(B, K) ? B[K] : S[K];
|
|
1888
|
+
return P;
|
|
1889
|
+
}, r = function(B, S) {
|
|
1890
|
+
var P = "";
|
|
1891
|
+
return B >= 55296 && B <= 57343 || B > 1114111 ? (S && w("character reference outside the permissible Unicode range"), "�") : v(h, B) ? (S && w("disallowed character reference"), h[B]) : (S && f(T, B) && w("disallowed character reference"), B > 65535 && (B -= 65536, P += y(B >>> 10 & 1023 | 55296), B = 56320 | B & 1023), P += y(B), P);
|
|
1892
|
+
}, D = function(B) {
|
|
1893
|
+
return "&#x" + B.toString(16).toUpperCase() + ";";
|
|
1894
|
+
}, A = function(B) {
|
|
1895
|
+
return "&#" + B + ";";
|
|
1896
|
+
}, w = function(B) {
|
|
1897
|
+
throw Error("Parse error: " + B);
|
|
1898
|
+
}, k = function(B, S) {
|
|
1899
|
+
S = C(S, k.options);
|
|
1900
|
+
var P = S.strict;
|
|
1901
|
+
P && q.test(B) && w("forbidden code point");
|
|
1902
|
+
var K = S.encodeEverything, Z = S.useNamedReferences, se = S.allowUnsafeSymbols, fe = S.decimal ? A : D, ue = function(H) {
|
|
1903
|
+
return fe(H.charCodeAt(0));
|
|
1904
|
+
};
|
|
1905
|
+
return K ? (B = B.replace(o, function(H) {
|
|
1906
|
+
return Z && v(d, H) ? "&" + d[H] + ";" : ue(H);
|
|
1907
|
+
}), Z && (B = B.replace(/>\u20D2/g, ">⃒").replace(/<\u20D2/g, "<⃒").replace(/fj/g, "fj")), Z && (B = B.replace(b, function(H) {
|
|
1908
|
+
return "&" + d[H] + ";";
|
|
1909
|
+
}))) : Z ? (se || (B = B.replace(g, function(H) {
|
|
1910
|
+
return "&" + d[H] + ";";
|
|
1911
|
+
})), B = B.replace(/>\u20D2/g, ">⃒").replace(/<\u20D2/g, "<⃒"), B = B.replace(b, function(H) {
|
|
1912
|
+
return "&" + d[H] + ";";
|
|
1913
|
+
})) : se || (B = B.replace(g, ue)), B.replace(c, function(H) {
|
|
1914
|
+
var de = H.charCodeAt(0), Fe = H.charCodeAt(1), nt = (de - 55296) * 1024 + Fe - 56320 + 65536;
|
|
1915
|
+
return fe(nt);
|
|
1916
|
+
}).replace(l, ue);
|
|
1917
|
+
};
|
|
1918
|
+
k.options = {
|
|
1919
|
+
allowUnsafeSymbols: !1,
|
|
1920
|
+
encodeEverything: !1,
|
|
1921
|
+
strict: !1,
|
|
1922
|
+
useNamedReferences: !1,
|
|
1923
|
+
decimal: !1
|
|
1924
|
+
};
|
|
1925
|
+
var L = function(B, S) {
|
|
1926
|
+
S = C(S, L.options);
|
|
1927
|
+
var P = S.strict;
|
|
1928
|
+
return P && R.test(B) && w("malformed character reference"), B.replace(N, function(K, Z, se, fe, ue, H, de, Fe, nt) {
|
|
1929
|
+
var ge, me, ot, lt, De, be;
|
|
1930
|
+
return Z ? (De = Z, _[De]) : se ? (De = se, be = fe, be && S.isAttributeValue ? (P && be == "=" && w("`&` did not start a character reference"), K) : (P && w(
|
|
1931
|
+
"named character reference was not terminated by a semicolon"
|
|
1932
|
+
), s[De] + (be || ""))) : ue ? (ot = ue, me = H, P && !me && w("character reference was not terminated by a semicolon"), ge = parseInt(ot, 10), r(ge, P)) : de ? (lt = de, me = Fe, P && !me && w("character reference was not terminated by a semicolon"), ge = parseInt(lt, 16), r(ge, P)) : (P && w(
|
|
1933
|
+
"named character reference was not terminated by a semicolon"
|
|
1934
|
+
), K);
|
|
1935
|
+
});
|
|
1936
|
+
};
|
|
1937
|
+
L.options = {
|
|
1938
|
+
isAttributeValue: !1,
|
|
1939
|
+
strict: !1
|
|
1940
|
+
};
|
|
1941
|
+
var U = function(B) {
|
|
1942
|
+
return B.replace(g, function(S) {
|
|
1943
|
+
return E[S];
|
|
1944
|
+
});
|
|
1945
|
+
}, W = {
|
|
1946
|
+
version: "1.2.0",
|
|
1947
|
+
encode: k,
|
|
1948
|
+
decode: L,
|
|
1949
|
+
escape: U,
|
|
1950
|
+
unescape: L
|
|
1951
|
+
};
|
|
1952
|
+
if (t && !t.nodeType)
|
|
1953
|
+
if (a)
|
|
1954
|
+
a.exports = W;
|
|
1955
|
+
else
|
|
1956
|
+
for (var J in W)
|
|
1957
|
+
v(W, J) && (t[J] = W[J]);
|
|
1958
|
+
else
|
|
1959
|
+
i.he = W;
|
|
1960
|
+
})(ku);
|
|
1961
|
+
})(le, le.exports)), le.exports;
|
|
1962
|
+
}
|
|
1963
|
+
var qu = Ru();
|
|
1964
|
+
const $t = x.createContext({}), Su = (e) => /* @__PURE__ */ x.createElement($t.Provider, { value: e }, e.children);
|
|
1965
|
+
function Hr(e) {
|
|
1966
|
+
const { data: u, beautify: i } = e, t = X.getBlockByType(u.type);
|
|
1967
|
+
if (!t)
|
|
1968
|
+
throw new Error(`Block ${u.type} not found`);
|
|
1969
|
+
const a = qu.unescape(
|
|
1970
|
+
It(
|
|
1971
|
+
/* @__PURE__ */ x.createElement(
|
|
1972
|
+
Su,
|
|
1973
|
+
{
|
|
1974
|
+
dataSource: e.dataSource,
|
|
1975
|
+
mode: e.mode,
|
|
1976
|
+
context: e.context
|
|
1977
|
+
},
|
|
1978
|
+
t.render(e)
|
|
1979
|
+
)
|
|
1980
|
+
)
|
|
1981
|
+
);
|
|
1982
|
+
return i ? Ou.html(a, { indent_size: 2 }) : a;
|
|
1983
|
+
}
|
|
1984
|
+
const Ht = () => nu($t), ie = (e) => {
|
|
1985
|
+
var o, l, b;
|
|
1986
|
+
const { data: u } = e, { mode: i, context: t, dataSource: a } = Ht();
|
|
1987
|
+
if ((o = u == null ? void 0 : u.data) != null && o.hidden) return null;
|
|
1988
|
+
const n = X.getBlockByType(u == null ? void 0 : u.type);
|
|
1989
|
+
if (!n)
|
|
1990
|
+
return console.warn(`Block type "${u == null ? void 0 : u.type}" not found in BlockManager`), null;
|
|
1991
|
+
const c = $(j({}, u), {
|
|
1992
|
+
data: $(j({}, (u == null ? void 0 : u.data) || {}), {
|
|
1993
|
+
value: ((l = u == null ? void 0 : u.data) == null ? void 0 : l.value) || {},
|
|
1994
|
+
hidden: ((b = u == null ? void 0 : u.data) == null ? void 0 : b.hidden) || !1
|
|
1995
|
+
}),
|
|
1996
|
+
attributes: (u == null ? void 0 : u.attributes) || {},
|
|
1997
|
+
children: Array.isArray(u == null ? void 0 : u.children) ? u.children : []
|
|
1998
|
+
});
|
|
1999
|
+
try {
|
|
2000
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, n.render($(j({}, e), { data: c, mode: i, context: t, dataSource: a })));
|
|
2001
|
+
} catch (d) {
|
|
2002
|
+
return console.error(`Error rendering block "${u == null ? void 0 : u.type}":`, d), /* @__PURE__ */ x.createElement(x.Fragment, null, `<!-- Error rendering block ${u == null ? void 0 : u.type}: ${d instanceof Error ? d.message : String(d)} -->`);
|
|
2003
|
+
}
|
|
2004
|
+
};
|
|
2005
|
+
function G(e) {
|
|
2006
|
+
const {
|
|
2007
|
+
params: u,
|
|
2008
|
+
params: { data: i, idx: t, children: a, mode: n },
|
|
2009
|
+
tag: c,
|
|
2010
|
+
children: o
|
|
2011
|
+
} = e, l = i.children.length === 0 && bu(u);
|
|
2012
|
+
let b = o || a;
|
|
2013
|
+
if ((!b || Array.isArray(b) && b.length === 0) && i.children.length === 0 && (b = l), n === "testing" && c === "mj-image") {
|
|
2014
|
+
let d = i.attributes.src;
|
|
2015
|
+
if (d === "" || /{{([\s\S]+?)}}/g.test(d) || /\*\|([^\|\*]+)\|\*/g.test(d)) {
|
|
2016
|
+
const g = V(u, "data.attributes.src");
|
|
2017
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, `<${c} ${et(g)} src="${Q(
|
|
2018
|
+
"IMAGE_59"
|
|
2019
|
+
)}">`, `</${c}>`);
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, `<${c} ${et(u)}>`, b || i.children.map((d, g) => /* @__PURE__ */ x.createElement(
|
|
2023
|
+
ie,
|
|
2024
|
+
$(j({
|
|
2025
|
+
key: g
|
|
2026
|
+
}, u), {
|
|
2027
|
+
idx: t ? st(t, g) : null,
|
|
2028
|
+
data: d
|
|
2029
|
+
})
|
|
2030
|
+
)), `</${c}>`);
|
|
2031
|
+
}
|
|
2032
|
+
const Wt = {
|
|
2033
|
+
get name() {
|
|
2034
|
+
return I("Wrapper");
|
|
2035
|
+
},
|
|
2036
|
+
type: p.WRAPPER,
|
|
2037
|
+
create: (e) => {
|
|
2038
|
+
const u = {
|
|
2039
|
+
type: p.WRAPPER,
|
|
2040
|
+
data: {
|
|
2041
|
+
value: {}
|
|
2042
|
+
},
|
|
2043
|
+
attributes: {
|
|
2044
|
+
padding: "20px 0px 20px 0px",
|
|
2045
|
+
border: "none",
|
|
2046
|
+
direction: "ltr",
|
|
2047
|
+
"text-align": "center"
|
|
2048
|
+
},
|
|
2049
|
+
children: []
|
|
2050
|
+
};
|
|
2051
|
+
return z(u, e);
|
|
2052
|
+
},
|
|
2053
|
+
validParentType: [p.PAGE],
|
|
2054
|
+
render(e) {
|
|
2055
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-wrapper" });
|
|
2056
|
+
}
|
|
2057
|
+
};
|
|
2058
|
+
function Lu(e) {
|
|
2059
|
+
const u = e.data.value;
|
|
2060
|
+
return `
|
|
2061
|
+
<mj-html-attributes>
|
|
2062
|
+
${[
|
|
2063
|
+
"content-background-color",
|
|
2064
|
+
"text-color",
|
|
2065
|
+
"font-family",
|
|
2066
|
+
"font-size",
|
|
2067
|
+
"line-height",
|
|
2068
|
+
"font-weight",
|
|
2069
|
+
"user-style",
|
|
2070
|
+
"responsive"
|
|
2071
|
+
].filter((t) => u[t] !== void 0).map((t) => {
|
|
2072
|
+
const a = t, n = lu(u[a]), c = n ? Object.keys(u[a]).map((o) => {
|
|
2073
|
+
const l = u[a][o];
|
|
2074
|
+
return `${o}="${tt(l) ? l.replace(/"/gm, "") : l}"`;
|
|
2075
|
+
}).join(" ") : `${t}="${u[a]}"`;
|
|
2076
|
+
return `<mj-html-attribute class="easy-email" multiple-attributes="${n}" attribute-name="${t}" ${c}></mj-html-attribute>`;
|
|
2077
|
+
}).join(`
|
|
2078
|
+
`)}
|
|
2079
|
+
|
|
2080
|
+
</mj-html-attributes>
|
|
2081
|
+
`;
|
|
2082
|
+
}
|
|
2083
|
+
class We {
|
|
2084
|
+
static setLocaleData(u) {
|
|
2085
|
+
this.localeData = u;
|
|
2086
|
+
}
|
|
2087
|
+
static translate(u, i) {
|
|
2088
|
+
const t = ae(this.localeData, u, u);
|
|
2089
|
+
if (!i)
|
|
2090
|
+
return t;
|
|
2091
|
+
const a = t.split("***");
|
|
2092
|
+
return a.splice(1, 0, i), /* @__PURE__ */ x.createElement(x.Fragment, null, a.map((n, c) => /* @__PURE__ */ x.createElement(x.Fragment, { key: c }, n)));
|
|
2093
|
+
}
|
|
2094
|
+
}
|
|
2095
|
+
ee(We, "localeData", {});
|
|
2096
|
+
const I = We.translate.bind(We), Nu = {
|
|
2097
|
+
get name() {
|
|
2098
|
+
return I("Page");
|
|
2099
|
+
},
|
|
2100
|
+
type: p.PAGE,
|
|
2101
|
+
create: (e) => {
|
|
2102
|
+
const u = {
|
|
2103
|
+
type: p.PAGE,
|
|
2104
|
+
data: {
|
|
2105
|
+
value: {
|
|
2106
|
+
breakpoint: "480px",
|
|
2107
|
+
headAttributes: "",
|
|
2108
|
+
"font-size": "14px",
|
|
2109
|
+
"font-weight": "400",
|
|
2110
|
+
"line-height": "1.7",
|
|
2111
|
+
headStyles: [],
|
|
2112
|
+
fonts: [],
|
|
2113
|
+
responsive: !0,
|
|
2114
|
+
"font-family": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans','Helvetica Neue', sans-serif",
|
|
2115
|
+
"text-color": "#000000"
|
|
2116
|
+
}
|
|
2117
|
+
},
|
|
2118
|
+
attributes: {
|
|
2119
|
+
"background-color": "#efeeea",
|
|
2120
|
+
width: "600px"
|
|
2121
|
+
},
|
|
2122
|
+
children: [Wt.create()]
|
|
2123
|
+
};
|
|
2124
|
+
return z(u, e);
|
|
2125
|
+
},
|
|
2126
|
+
validParentType: [],
|
|
2127
|
+
render(e) {
|
|
2128
|
+
var b, d;
|
|
2129
|
+
const { data: u } = e, i = Lu(u), t = u.data.value, a = t.breakpoint ? `<mj-breakpoint width="${u.data.value.breakpoint}" />` : "", n = t.responsive ? "" : `<mj-raw>
|
|
2130
|
+
<meta name="viewport" />
|
|
2131
|
+
</mj-raw>
|
|
2132
|
+
<mj-style inline="inline">.mjml-body { width: ${u.attributes.width || "600px"}; margin: 0px auto; }</mj-style>`, c = ((b = t.headStyles) == null ? void 0 : b.map(
|
|
2133
|
+
(g) => `<mj-style ${g.inline ? 'inline="inline"' : ""}>${g.content}</mj-style>`
|
|
2134
|
+
).join(`
|
|
2135
|
+
`)) || "", o = t["user-style"] ? `<mj-style ${t["user-style"].inline ? 'inline="inline"' : ""}>${t["user-style"].content}</mj-style>` : "", l = t.extraHeadContent ? `<mj-raw>${t.extraHeadContent}</mj-raw>` : "";
|
|
2136
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, `
|
|
2137
|
+
<mjml>
|
|
2138
|
+
<mj-head>
|
|
2139
|
+
${i}
|
|
2140
|
+
${n}
|
|
2141
|
+
${c}
|
|
2142
|
+
${o}
|
|
2143
|
+
${a}
|
|
2144
|
+
${l}
|
|
2145
|
+
${(d = t.fonts) == null ? void 0 : d.filter(Boolean).map((g) => `<mj-font name="${g.name}" href="${g.href}" />`)}
|
|
2146
|
+
<mj-attributes>
|
|
2147
|
+
${t.headAttributes}
|
|
2148
|
+
${t["font-family"] ? `<mj-all font-family="${t["font-family"].replace(/"/gm, "")}" />` : ""}
|
|
2149
|
+
${t["font-size"] ? `<mj-text font-size="${t["font-size"]}" />` : ""}
|
|
2150
|
+
${t["text-color"] ? `<mj-text color="${t["text-color"]}" />` : ""}
|
|
2151
|
+
${t["line-height"] ? `<mj-text line-height="${t["line-height"]}" />` : ""}
|
|
2152
|
+
${t["font-weight"] ? `<mj-text font-weight="${t["font-weight"]}" />` : ""}
|
|
2153
|
+
${t["content-background-color"] ? `<mj-wrapper background-color="${t["content-background-color"]}" />
|
|
2154
|
+
<mj-section background-color="${t["content-background-color"]}" />
|
|
2155
|
+
` : ""}
|
|
2156
|
+
|
|
2157
|
+
</mj-attributes>
|
|
2158
|
+
</mj-head>
|
|
2159
|
+
<mj-body ${et(e)}>`, u.children.map((g, E) => /* @__PURE__ */ x.createElement(
|
|
2160
|
+
ie,
|
|
2161
|
+
$(j({}, e), {
|
|
2162
|
+
idx: st(Zt(), E),
|
|
2163
|
+
key: E,
|
|
2164
|
+
data: g
|
|
2165
|
+
})
|
|
2166
|
+
)), "</mj-body></mjml > ");
|
|
2167
|
+
}
|
|
2168
|
+
}, Pu = {
|
|
2169
|
+
get name() {
|
|
2170
|
+
return I("Section");
|
|
2171
|
+
},
|
|
2172
|
+
type: p.SECTION,
|
|
2173
|
+
create: (e) => {
|
|
2174
|
+
const u = {
|
|
2175
|
+
type: p.SECTION,
|
|
2176
|
+
data: {
|
|
2177
|
+
value: {
|
|
2178
|
+
noWrap: !1
|
|
2179
|
+
}
|
|
2180
|
+
},
|
|
2181
|
+
attributes: {
|
|
2182
|
+
padding: "20px 0px 20px 0px",
|
|
2183
|
+
"background-repeat": "repeat",
|
|
2184
|
+
"background-size": "auto",
|
|
2185
|
+
"background-position": "top center",
|
|
2186
|
+
border: "none",
|
|
2187
|
+
direction: "ltr",
|
|
2188
|
+
"text-align": "center"
|
|
2189
|
+
},
|
|
2190
|
+
children: []
|
|
2191
|
+
};
|
|
2192
|
+
return z(u, e);
|
|
2193
|
+
},
|
|
2194
|
+
validParentType: [p.PAGE, p.WRAPPER],
|
|
2195
|
+
render(e) {
|
|
2196
|
+
return /* @__PURE__ */ x.createElement(
|
|
2197
|
+
G,
|
|
2198
|
+
{
|
|
2199
|
+
params: e,
|
|
2200
|
+
tag: "mj-section"
|
|
2201
|
+
}
|
|
2202
|
+
);
|
|
2203
|
+
}
|
|
2204
|
+
}, Iu = {
|
|
2205
|
+
get name() {
|
|
2206
|
+
return I("Column");
|
|
2207
|
+
},
|
|
2208
|
+
type: p.COLUMN,
|
|
2209
|
+
create: (e) => {
|
|
2210
|
+
const u = {
|
|
2211
|
+
type: p.COLUMN,
|
|
2212
|
+
data: {
|
|
2213
|
+
value: {}
|
|
2214
|
+
},
|
|
2215
|
+
attributes: {
|
|
2216
|
+
padding: "0px 0px 0px 0px",
|
|
2217
|
+
border: "none",
|
|
2218
|
+
"vertical-align": "top"
|
|
2219
|
+
},
|
|
2220
|
+
children: []
|
|
2221
|
+
};
|
|
2222
|
+
return z(u, e);
|
|
2223
|
+
},
|
|
2224
|
+
validParentType: [p.SECTION, p.GROUP],
|
|
2225
|
+
render(e) {
|
|
2226
|
+
return /* @__PURE__ */ x.createElement(
|
|
2227
|
+
G,
|
|
2228
|
+
{
|
|
2229
|
+
params: e,
|
|
2230
|
+
tag: "mj-column"
|
|
2231
|
+
}
|
|
2232
|
+
);
|
|
2233
|
+
}
|
|
2234
|
+
}, Uu = {
|
|
2235
|
+
get name() {
|
|
2236
|
+
return I("Text");
|
|
2237
|
+
},
|
|
2238
|
+
type: p.TEXT,
|
|
2239
|
+
create: (e) => {
|
|
2240
|
+
const u = {
|
|
2241
|
+
type: p.TEXT,
|
|
2242
|
+
data: {
|
|
2243
|
+
value: {
|
|
2244
|
+
content: I("Make it easy for everyone to compose emails!")
|
|
2245
|
+
}
|
|
2246
|
+
},
|
|
2247
|
+
attributes: {
|
|
2248
|
+
padding: "10px 25px 10px 25px",
|
|
2249
|
+
align: "left"
|
|
2250
|
+
},
|
|
2251
|
+
children: []
|
|
2252
|
+
};
|
|
2253
|
+
return z(u, e);
|
|
2254
|
+
},
|
|
2255
|
+
validParentType: [p.COLUMN, p.HERO],
|
|
2256
|
+
render(e) {
|
|
2257
|
+
const { data: u } = e;
|
|
2258
|
+
return /* @__PURE__ */ x.createElement(
|
|
2259
|
+
G,
|
|
2260
|
+
{
|
|
2261
|
+
params: e,
|
|
2262
|
+
tag: "mj-text"
|
|
2263
|
+
},
|
|
2264
|
+
u.data.value.content
|
|
2265
|
+
);
|
|
2266
|
+
}
|
|
2267
|
+
}, ju = {
|
|
2268
|
+
get name() {
|
|
2269
|
+
return I("Image");
|
|
2270
|
+
},
|
|
2271
|
+
type: p.IMAGE,
|
|
2272
|
+
create: (e) => {
|
|
2273
|
+
const u = {
|
|
2274
|
+
type: p.IMAGE,
|
|
2275
|
+
data: {
|
|
2276
|
+
value: {}
|
|
2277
|
+
},
|
|
2278
|
+
attributes: {
|
|
2279
|
+
align: "center",
|
|
2280
|
+
height: "auto",
|
|
2281
|
+
padding: "10px 25px 10px 25px",
|
|
2282
|
+
src: ""
|
|
2283
|
+
},
|
|
2284
|
+
children: []
|
|
2285
|
+
};
|
|
2286
|
+
return z(u, e);
|
|
2287
|
+
},
|
|
2288
|
+
validParentType: [p.COLUMN, p.HERO],
|
|
2289
|
+
render(e) {
|
|
2290
|
+
return /* @__PURE__ */ x.createElement(
|
|
2291
|
+
G,
|
|
2292
|
+
{
|
|
2293
|
+
params: e,
|
|
2294
|
+
tag: "mj-image"
|
|
2295
|
+
}
|
|
2296
|
+
);
|
|
2297
|
+
}
|
|
2298
|
+
}, Vu = {
|
|
2299
|
+
get name() {
|
|
2300
|
+
return I("Group");
|
|
2301
|
+
},
|
|
2302
|
+
type: p.GROUP,
|
|
2303
|
+
create: (e) => {
|
|
2304
|
+
const u = {
|
|
2305
|
+
type: p.GROUP,
|
|
2306
|
+
data: {
|
|
2307
|
+
value: {}
|
|
2308
|
+
},
|
|
2309
|
+
attributes: {
|
|
2310
|
+
"vertical-align": "top",
|
|
2311
|
+
direction: "ltr"
|
|
2312
|
+
},
|
|
2313
|
+
children: []
|
|
2314
|
+
};
|
|
2315
|
+
return z(u, e);
|
|
2316
|
+
},
|
|
2317
|
+
validParentType: [p.SECTION],
|
|
2318
|
+
render(e) {
|
|
2319
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-group" });
|
|
2320
|
+
}
|
|
2321
|
+
}, Mu = {
|
|
2322
|
+
get name() {
|
|
2323
|
+
return I("Button");
|
|
2324
|
+
},
|
|
2325
|
+
type: p.BUTTON,
|
|
2326
|
+
create: (e) => {
|
|
2327
|
+
const u = {
|
|
2328
|
+
type: p.BUTTON,
|
|
2329
|
+
data: {
|
|
2330
|
+
value: {
|
|
2331
|
+
content: "Button"
|
|
2332
|
+
}
|
|
2333
|
+
},
|
|
2334
|
+
attributes: {
|
|
2335
|
+
align: "center",
|
|
2336
|
+
"background-color": "#414141",
|
|
2337
|
+
color: "#ffffff",
|
|
2338
|
+
"font-weight": "normal",
|
|
2339
|
+
"border-radius": "3px",
|
|
2340
|
+
padding: "10px 25px 10px 25px",
|
|
2341
|
+
"inner-padding": "10px 25px 10px 25px",
|
|
2342
|
+
"line-height": "120%",
|
|
2343
|
+
target: "_blank",
|
|
2344
|
+
"vertical-align": "middle",
|
|
2345
|
+
border: "none",
|
|
2346
|
+
"text-align": "center",
|
|
2347
|
+
href: "#"
|
|
2348
|
+
},
|
|
2349
|
+
children: []
|
|
2350
|
+
};
|
|
2351
|
+
return z(u, e);
|
|
2352
|
+
},
|
|
2353
|
+
validParentType: [p.COLUMN, p.HERO],
|
|
2354
|
+
render(e) {
|
|
2355
|
+
const { data: u } = e;
|
|
2356
|
+
return /* @__PURE__ */ x.createElement(
|
|
2357
|
+
G,
|
|
2358
|
+
{
|
|
2359
|
+
params: e,
|
|
2360
|
+
tag: "mj-button"
|
|
2361
|
+
},
|
|
2362
|
+
u.data.value.content
|
|
2363
|
+
);
|
|
2364
|
+
}
|
|
2365
|
+
}, Gu = {
|
|
2366
|
+
get name() {
|
|
2367
|
+
return I("Divider");
|
|
2368
|
+
},
|
|
2369
|
+
type: p.DIVIDER,
|
|
2370
|
+
create: (e) => {
|
|
2371
|
+
const u = {
|
|
2372
|
+
type: p.DIVIDER,
|
|
2373
|
+
data: {
|
|
2374
|
+
value: {}
|
|
2375
|
+
},
|
|
2376
|
+
attributes: {
|
|
2377
|
+
align: "center",
|
|
2378
|
+
"border-width": "1px",
|
|
2379
|
+
"border-style": "solid",
|
|
2380
|
+
"border-color": "#C9CCCF",
|
|
2381
|
+
padding: "10px 0px 10px 0px"
|
|
2382
|
+
},
|
|
2383
|
+
children: []
|
|
2384
|
+
};
|
|
2385
|
+
return z(u, e);
|
|
2386
|
+
},
|
|
2387
|
+
validParentType: [p.COLUMN, p.HERO],
|
|
2388
|
+
render(e) {
|
|
2389
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-divider" });
|
|
2390
|
+
}
|
|
2391
|
+
}, zu = {
|
|
2392
|
+
get name() {
|
|
2393
|
+
return I("Spacer");
|
|
2394
|
+
},
|
|
2395
|
+
type: p.SPACER,
|
|
2396
|
+
create: (e) => {
|
|
2397
|
+
const u = {
|
|
2398
|
+
type: p.SPACER,
|
|
2399
|
+
data: {
|
|
2400
|
+
value: {}
|
|
2401
|
+
},
|
|
2402
|
+
attributes: {
|
|
2403
|
+
height: "20px"
|
|
2404
|
+
},
|
|
2405
|
+
children: []
|
|
2406
|
+
};
|
|
2407
|
+
return z(u, e);
|
|
2408
|
+
},
|
|
2409
|
+
validParentType: [p.COLUMN, p.HERO],
|
|
2410
|
+
render(e) {
|
|
2411
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-spacer" });
|
|
2412
|
+
}
|
|
2413
|
+
};
|
|
2414
|
+
function pe(e, u) {
|
|
2415
|
+
return cu(e, u, (i, t) => _u(t) ? t : void 0);
|
|
2416
|
+
}
|
|
2417
|
+
const $u = {
|
|
2418
|
+
get name() {
|
|
2419
|
+
return I("Carousel");
|
|
2420
|
+
},
|
|
2421
|
+
type: p.CAROUSEL,
|
|
2422
|
+
create: (e) => {
|
|
2423
|
+
const u = {
|
|
2424
|
+
type: p.CAROUSEL,
|
|
2425
|
+
data: {
|
|
2426
|
+
value: {
|
|
2427
|
+
images: [
|
|
2428
|
+
{
|
|
2429
|
+
src: Q("IMAGE_15"),
|
|
2430
|
+
target: "_blank"
|
|
2431
|
+
},
|
|
2432
|
+
{
|
|
2433
|
+
src: Q("IMAGE_16"),
|
|
2434
|
+
target: "_blank"
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
src: Q("IMAGE_17"),
|
|
2438
|
+
target: "_blank"
|
|
2439
|
+
}
|
|
2440
|
+
]
|
|
2441
|
+
}
|
|
2442
|
+
},
|
|
2443
|
+
attributes: {
|
|
2444
|
+
align: "center",
|
|
2445
|
+
"left-icon": "https://i.imgur.com/xTh3hln.png",
|
|
2446
|
+
"right-icon": "https://i.imgur.com/os7o9kz.png",
|
|
2447
|
+
"icon-width": "44px",
|
|
2448
|
+
thumbnails: "visible"
|
|
2449
|
+
},
|
|
2450
|
+
children: []
|
|
2451
|
+
};
|
|
2452
|
+
return pe(u, e);
|
|
2453
|
+
},
|
|
2454
|
+
validParentType: [p.COLUMN],
|
|
2455
|
+
render(e) {
|
|
2456
|
+
const { data: u } = e, i = u.data.value.images.map((t) => `
|
|
2457
|
+
<mj-carousel-image ${Object.keys(t).filter((n) => n !== "content" && t[n] !== "").map((n) => `${n}="${t[n]}"`).join(" ")} />
|
|
2458
|
+
`).join(`
|
|
2459
|
+
`);
|
|
2460
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-carousel" }, i);
|
|
2461
|
+
}
|
|
2462
|
+
}, Hu = {
|
|
2463
|
+
get name() {
|
|
2464
|
+
return I("Hero");
|
|
2465
|
+
},
|
|
2466
|
+
type: p.HERO,
|
|
2467
|
+
create: (e) => {
|
|
2468
|
+
const u = {
|
|
2469
|
+
type: p.HERO,
|
|
2470
|
+
data: {
|
|
2471
|
+
value: {}
|
|
2472
|
+
},
|
|
2473
|
+
attributes: {
|
|
2474
|
+
"background-color": "#ffffff",
|
|
2475
|
+
"background-position": "center center",
|
|
2476
|
+
mode: "fluid-height",
|
|
2477
|
+
padding: "100px 0px 100px 0px",
|
|
2478
|
+
"vertical-align": "top",
|
|
2479
|
+
"background-url": Q("IMAGE_31")
|
|
2480
|
+
},
|
|
2481
|
+
children: [
|
|
2482
|
+
{
|
|
2483
|
+
type: "text",
|
|
2484
|
+
data: {
|
|
2485
|
+
value: {
|
|
2486
|
+
content: "We Serve Healthy & Delicious Foods"
|
|
2487
|
+
}
|
|
2488
|
+
},
|
|
2489
|
+
attributes: {
|
|
2490
|
+
padding: "10px 25px 10px 25px",
|
|
2491
|
+
align: "center",
|
|
2492
|
+
color: "#ffffff",
|
|
2493
|
+
"font-size": "45px",
|
|
2494
|
+
"line-height": "45px"
|
|
2495
|
+
},
|
|
2496
|
+
children: []
|
|
2497
|
+
},
|
|
2498
|
+
{
|
|
2499
|
+
type: "text",
|
|
2500
|
+
data: {
|
|
2501
|
+
value: {
|
|
2502
|
+
content: "A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth.<br>"
|
|
2503
|
+
}
|
|
2504
|
+
},
|
|
2505
|
+
attributes: {
|
|
2506
|
+
align: "center",
|
|
2507
|
+
"background-color": "#414141",
|
|
2508
|
+
color: "#ffffff",
|
|
2509
|
+
"font-weight": "normal",
|
|
2510
|
+
"border-radius": "3px",
|
|
2511
|
+
padding: "10px 25px 10px 25px",
|
|
2512
|
+
"inner-padding": "10px 25px 10px 25px",
|
|
2513
|
+
"line-height": "1.5",
|
|
2514
|
+
target: "_blank",
|
|
2515
|
+
"vertical-align": "middle",
|
|
2516
|
+
border: "none",
|
|
2517
|
+
"text-align": "center",
|
|
2518
|
+
href: "#",
|
|
2519
|
+
"font-size": "14px"
|
|
2520
|
+
},
|
|
2521
|
+
children: []
|
|
2522
|
+
},
|
|
2523
|
+
{
|
|
2524
|
+
type: "button",
|
|
2525
|
+
data: {
|
|
2526
|
+
value: {
|
|
2527
|
+
content: "Get Your Order Here!"
|
|
2528
|
+
}
|
|
2529
|
+
},
|
|
2530
|
+
attributes: {
|
|
2531
|
+
align: "center",
|
|
2532
|
+
"background-color": "#f3a333",
|
|
2533
|
+
color: "#ffffff",
|
|
2534
|
+
"font-size": "13px",
|
|
2535
|
+
"font-weight": "normal",
|
|
2536
|
+
"border-radius": "30px",
|
|
2537
|
+
padding: "10px 25px 10px 25px",
|
|
2538
|
+
"inner-padding": "10px 25px 10px 25px",
|
|
2539
|
+
"line-height": "120%",
|
|
2540
|
+
target: "_blank",
|
|
2541
|
+
"vertical-align": "middle",
|
|
2542
|
+
border: "none",
|
|
2543
|
+
"text-align": "center",
|
|
2544
|
+
href: "#"
|
|
2545
|
+
},
|
|
2546
|
+
children: []
|
|
2547
|
+
}
|
|
2548
|
+
]
|
|
2549
|
+
};
|
|
2550
|
+
return pe(u, e);
|
|
2551
|
+
},
|
|
2552
|
+
validParentType: [p.PAGE, p.WRAPPER],
|
|
2553
|
+
render(e) {
|
|
2554
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-hero" });
|
|
2555
|
+
}
|
|
2556
|
+
}, Wu = {
|
|
2557
|
+
get name() {
|
|
2558
|
+
return I("Navbar");
|
|
2559
|
+
},
|
|
2560
|
+
type: p.NAVBAR,
|
|
2561
|
+
create: (e) => {
|
|
2562
|
+
const u = {
|
|
2563
|
+
type: p.NAVBAR,
|
|
2564
|
+
data: {
|
|
2565
|
+
value: {
|
|
2566
|
+
links: [
|
|
2567
|
+
{
|
|
2568
|
+
href: "/gettings-started-onboard",
|
|
2569
|
+
content: "Getting started",
|
|
2570
|
+
color: "#1890ff",
|
|
2571
|
+
"font-size": "13px",
|
|
2572
|
+
target: "_blank",
|
|
2573
|
+
padding: "15px 10px"
|
|
2574
|
+
},
|
|
2575
|
+
{
|
|
2576
|
+
href: "/try-it-live",
|
|
2577
|
+
content: "Try it live",
|
|
2578
|
+
color: "#1890ff",
|
|
2579
|
+
"font-size": "13px",
|
|
2580
|
+
target: "_blank",
|
|
2581
|
+
padding: "15px 10px"
|
|
2582
|
+
},
|
|
2583
|
+
{
|
|
2584
|
+
href: "/templates",
|
|
2585
|
+
content: "Templates",
|
|
2586
|
+
color: "#1890ff",
|
|
2587
|
+
"font-size": "13px",
|
|
2588
|
+
target: "_blank",
|
|
2589
|
+
padding: "15px 10px"
|
|
2590
|
+
},
|
|
2591
|
+
{
|
|
2592
|
+
href: "/components",
|
|
2593
|
+
content: "Components",
|
|
2594
|
+
color: "#1890ff",
|
|
2595
|
+
"font-size": "13px",
|
|
2596
|
+
target: "_blank",
|
|
2597
|
+
padding: "15px 10px"
|
|
2598
|
+
}
|
|
2599
|
+
]
|
|
2600
|
+
}
|
|
2601
|
+
},
|
|
2602
|
+
attributes: {
|
|
2603
|
+
align: "center"
|
|
2604
|
+
},
|
|
2605
|
+
children: []
|
|
2606
|
+
};
|
|
2607
|
+
return pe(u, e);
|
|
2608
|
+
},
|
|
2609
|
+
validParentType: [p.COLUMN, p.HERO],
|
|
2610
|
+
render(e) {
|
|
2611
|
+
const { data: u } = e, i = u.data.value.links.map((t, a) => `
|
|
2612
|
+
<mj-navbar-link ${Object.keys(t).filter((c) => c !== "content" && t[c] !== "").map((c) => `${c}="${t[c]}"`).join(" ")}>${t.content}</mj-navbar-link>
|
|
2613
|
+
`).join(`
|
|
2614
|
+
`);
|
|
2615
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-navbar" }, i);
|
|
2616
|
+
}
|
|
2617
|
+
}, Ku = {
|
|
2618
|
+
get name() {
|
|
2619
|
+
return I("Social");
|
|
2620
|
+
},
|
|
2621
|
+
type: p.SOCIAL,
|
|
2622
|
+
create: (e) => {
|
|
2623
|
+
const u = {
|
|
2624
|
+
type: p.SOCIAL,
|
|
2625
|
+
data: {
|
|
2626
|
+
value: {
|
|
2627
|
+
elements: [
|
|
2628
|
+
{
|
|
2629
|
+
href: "#",
|
|
2630
|
+
target: "_blank",
|
|
2631
|
+
src: Q("IMAGE_02"),
|
|
2632
|
+
content: "Facebook"
|
|
2633
|
+
},
|
|
2634
|
+
{
|
|
2635
|
+
href: "#",
|
|
2636
|
+
target: "_blank",
|
|
2637
|
+
src: Q("IMAGE_03"),
|
|
2638
|
+
content: "Google"
|
|
2639
|
+
},
|
|
2640
|
+
{
|
|
2641
|
+
href: "",
|
|
2642
|
+
target: "_blank",
|
|
2643
|
+
src: Q("IMAGE_04"),
|
|
2644
|
+
content: "Twitter"
|
|
2645
|
+
}
|
|
2646
|
+
]
|
|
2647
|
+
}
|
|
2648
|
+
},
|
|
2649
|
+
attributes: {
|
|
2650
|
+
align: "center",
|
|
2651
|
+
color: "#333333",
|
|
2652
|
+
mode: "horizontal",
|
|
2653
|
+
"font-size": "13px",
|
|
2654
|
+
"font-weight": "normal",
|
|
2655
|
+
"border-radius": "3px",
|
|
2656
|
+
padding: "10px 25px 10px 25px",
|
|
2657
|
+
"inner-padding": "4px 4px 4px 4px",
|
|
2658
|
+
"line-height": "22px",
|
|
2659
|
+
"text-padding": "4px 4px 4px 0px",
|
|
2660
|
+
"icon-padding": "0px",
|
|
2661
|
+
"icon-size": "20px"
|
|
2662
|
+
},
|
|
2663
|
+
children: []
|
|
2664
|
+
};
|
|
2665
|
+
return pe(u, e);
|
|
2666
|
+
},
|
|
2667
|
+
validParentType: [p.COLUMN],
|
|
2668
|
+
render(e) {
|
|
2669
|
+
const { data: u } = e, i = u.data.value.elements.map((t) => {
|
|
2670
|
+
var n;
|
|
2671
|
+
return `
|
|
2672
|
+
<mj-social-element ${Object.keys(t).filter((c) => c !== "content" && t[c] !== "").map((c) => `${c}="${t[c]}"`).join(" ")}>${(n = t.content) != null ? n : ""}</mj-social-element>
|
|
2673
|
+
`;
|
|
2674
|
+
}).join(`
|
|
2675
|
+
`);
|
|
2676
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-social" }, i);
|
|
2677
|
+
}
|
|
2678
|
+
}, Xu = {
|
|
2679
|
+
get name() {
|
|
2680
|
+
return I("Raw");
|
|
2681
|
+
},
|
|
2682
|
+
type: p.RAW,
|
|
2683
|
+
create: (e) => {
|
|
2684
|
+
const u = {
|
|
2685
|
+
type: p.RAW,
|
|
2686
|
+
data: {
|
|
2687
|
+
value: {
|
|
2688
|
+
content: "<% if (user) { %>"
|
|
2689
|
+
}
|
|
2690
|
+
},
|
|
2691
|
+
attributes: {},
|
|
2692
|
+
children: []
|
|
2693
|
+
};
|
|
2694
|
+
return z(u, e);
|
|
2695
|
+
},
|
|
2696
|
+
validParentType: [
|
|
2697
|
+
p.PAGE,
|
|
2698
|
+
p.WRAPPER,
|
|
2699
|
+
p.SECTION,
|
|
2700
|
+
p.GROUP,
|
|
2701
|
+
p.COLUMN,
|
|
2702
|
+
p.HERO
|
|
2703
|
+
],
|
|
2704
|
+
render(e) {
|
|
2705
|
+
return /* @__PURE__ */ x.createElement(
|
|
2706
|
+
G,
|
|
2707
|
+
{
|
|
2708
|
+
params: e,
|
|
2709
|
+
tag: "mj-raw"
|
|
2710
|
+
},
|
|
2711
|
+
e.data.data.value.content
|
|
2712
|
+
);
|
|
2713
|
+
}
|
|
2714
|
+
}, Qu = {
|
|
2715
|
+
get name() {
|
|
2716
|
+
return I("Template");
|
|
2717
|
+
},
|
|
2718
|
+
type: p.TEMPLATE,
|
|
2719
|
+
create: (e) => {
|
|
2720
|
+
const u = {
|
|
2721
|
+
type: p.TEMPLATE,
|
|
2722
|
+
data: {
|
|
2723
|
+
value: {
|
|
2724
|
+
idx: ""
|
|
2725
|
+
}
|
|
2726
|
+
},
|
|
2727
|
+
attributes: {},
|
|
2728
|
+
children: []
|
|
2729
|
+
};
|
|
2730
|
+
return z(u, e);
|
|
2731
|
+
},
|
|
2732
|
+
validParentType: [],
|
|
2733
|
+
render(e) {
|
|
2734
|
+
const { data: u } = e;
|
|
2735
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, `
|
|
2736
|
+
${u.children.map((i) => /* @__PURE__ */ x.createElement(ie, $(j({}, e), { data: i })))}
|
|
2737
|
+
`);
|
|
2738
|
+
}
|
|
2739
|
+
}, Ke = {
|
|
2740
|
+
get name() {
|
|
2741
|
+
return I("Accordion element");
|
|
2742
|
+
},
|
|
2743
|
+
type: p.ACCORDION_ELEMENT,
|
|
2744
|
+
create: (e) => {
|
|
2745
|
+
const u = {
|
|
2746
|
+
type: p.ACCORDION_ELEMENT,
|
|
2747
|
+
data: {
|
|
2748
|
+
value: {}
|
|
2749
|
+
},
|
|
2750
|
+
attributes: {
|
|
2751
|
+
"icon-align": "middle",
|
|
2752
|
+
"icon-height": "32px",
|
|
2753
|
+
"icon-width": "32px",
|
|
2754
|
+
"icon-position": "right"
|
|
2755
|
+
},
|
|
2756
|
+
children: []
|
|
2757
|
+
};
|
|
2758
|
+
return z(u, e);
|
|
2759
|
+
},
|
|
2760
|
+
validParentType: [p.ACCORDION],
|
|
2761
|
+
render(e) {
|
|
2762
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-accordion-element" });
|
|
2763
|
+
}
|
|
2764
|
+
}, Xe = {
|
|
2765
|
+
get name() {
|
|
2766
|
+
return I("Accordion title");
|
|
2767
|
+
},
|
|
2768
|
+
type: p.ACCORDION_TITLE,
|
|
2769
|
+
create: (e) => {
|
|
2770
|
+
const u = {
|
|
2771
|
+
type: p.ACCORDION_TITLE,
|
|
2772
|
+
data: {
|
|
2773
|
+
value: {
|
|
2774
|
+
content: "Why use an accordion?"
|
|
2775
|
+
}
|
|
2776
|
+
},
|
|
2777
|
+
attributes: {
|
|
2778
|
+
"font-size": "13px",
|
|
2779
|
+
padding: "16px 16px 16px 16px"
|
|
2780
|
+
},
|
|
2781
|
+
children: []
|
|
2782
|
+
};
|
|
2783
|
+
return z(u, e);
|
|
2784
|
+
},
|
|
2785
|
+
validParentType: [p.ACCORDION],
|
|
2786
|
+
render(e) {
|
|
2787
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-accordion-title" }, e.data.data.value.content);
|
|
2788
|
+
}
|
|
2789
|
+
}, Qe = {
|
|
2790
|
+
get name() {
|
|
2791
|
+
return I("Accordion text");
|
|
2792
|
+
},
|
|
2793
|
+
type: p.ACCORDION_TEXT,
|
|
2794
|
+
create: (e) => {
|
|
2795
|
+
const u = {
|
|
2796
|
+
type: p.ACCORDION_TEXT,
|
|
2797
|
+
data: {
|
|
2798
|
+
value: {
|
|
2799
|
+
content: "Because emails with a lot of content are most of the time a very bad experience on mobile, mj-accordion comes handy when you want to deliver a lot of information in a concise way"
|
|
2800
|
+
}
|
|
2801
|
+
},
|
|
2802
|
+
attributes: {
|
|
2803
|
+
"font-size": "13px",
|
|
2804
|
+
padding: "16px 16px 16px 16px",
|
|
2805
|
+
"line-height": "1"
|
|
2806
|
+
},
|
|
2807
|
+
children: []
|
|
2808
|
+
};
|
|
2809
|
+
return z(u, e);
|
|
2810
|
+
},
|
|
2811
|
+
validParentType: [p.ACCORDION],
|
|
2812
|
+
render(e) {
|
|
2813
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-accordion-text" }, e.data.data.value.content);
|
|
2814
|
+
}
|
|
2815
|
+
}, Yu = {
|
|
2816
|
+
get name() {
|
|
2817
|
+
return I("Accordion");
|
|
2818
|
+
},
|
|
2819
|
+
type: p.ACCORDION,
|
|
2820
|
+
validParentType: [p.COLUMN],
|
|
2821
|
+
create: (e) => {
|
|
2822
|
+
const u = {
|
|
2823
|
+
type: p.ACCORDION,
|
|
2824
|
+
data: {
|
|
2825
|
+
value: {}
|
|
2826
|
+
},
|
|
2827
|
+
attributes: {
|
|
2828
|
+
"icon-height": "32px",
|
|
2829
|
+
"icon-width": "32px",
|
|
2830
|
+
"icon-align": "middle",
|
|
2831
|
+
"icon-position": "right",
|
|
2832
|
+
"icon-unwrapped-url": Q("IMAGE_09"),
|
|
2833
|
+
"icon-wrapped-url": Q("IMAGE_10"),
|
|
2834
|
+
padding: "10px 25px 10px 25px",
|
|
2835
|
+
border: "1px solid #d9d9d9"
|
|
2836
|
+
},
|
|
2837
|
+
children: [
|
|
2838
|
+
Ke.create({
|
|
2839
|
+
children: [
|
|
2840
|
+
Xe.create({
|
|
2841
|
+
data: {
|
|
2842
|
+
value: {
|
|
2843
|
+
content: "Why use an accordion?"
|
|
2844
|
+
}
|
|
2845
|
+
}
|
|
2846
|
+
}),
|
|
2847
|
+
Qe.create({
|
|
2848
|
+
data: {
|
|
2849
|
+
value: {
|
|
2850
|
+
content: "Because emails with a lot of content are most of the time a very bad experience on mobile, mj-accordion comes handy when you want to deliver a lot of information in a concise way."
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2853
|
+
})
|
|
2854
|
+
]
|
|
2855
|
+
}),
|
|
2856
|
+
Ke.create({
|
|
2857
|
+
children: [
|
|
2858
|
+
Xe.create({
|
|
2859
|
+
data: {
|
|
2860
|
+
value: {
|
|
2861
|
+
content: "How it works"
|
|
2862
|
+
}
|
|
2863
|
+
}
|
|
2864
|
+
}),
|
|
2865
|
+
Qe.create({
|
|
2866
|
+
data: {
|
|
2867
|
+
value: {
|
|
2868
|
+
content: "Content is stacked into tabs and users can expand them at will. If responsive styles are not supported (mostly on desktop clients), tabs are then expanded and your content is readable at once."
|
|
2869
|
+
}
|
|
2870
|
+
}
|
|
2871
|
+
})
|
|
2872
|
+
]
|
|
2873
|
+
})
|
|
2874
|
+
]
|
|
2875
|
+
};
|
|
2876
|
+
return pe(u, e);
|
|
2877
|
+
},
|
|
2878
|
+
render(e) {
|
|
2879
|
+
return /* @__PURE__ */ x.createElement(G, { params: e, tag: "mj-accordion" });
|
|
2880
|
+
}
|
|
2881
|
+
}, Ju = {
|
|
2882
|
+
get name() {
|
|
2883
|
+
return I("Table");
|
|
2884
|
+
},
|
|
2885
|
+
type: p.TABLE,
|
|
2886
|
+
create: (e) => {
|
|
2887
|
+
const u = {
|
|
2888
|
+
type: p.TABLE,
|
|
2889
|
+
data: {
|
|
2890
|
+
value: {
|
|
2891
|
+
content: ""
|
|
2892
|
+
}
|
|
2893
|
+
},
|
|
2894
|
+
attributes: {},
|
|
2895
|
+
children: []
|
|
2896
|
+
};
|
|
2897
|
+
return z(u, e);
|
|
2898
|
+
},
|
|
2899
|
+
validParentType: [p.COLUMN],
|
|
2900
|
+
render(e) {
|
|
2901
|
+
const { data: u } = e;
|
|
2902
|
+
return /* @__PURE__ */ x.createElement(
|
|
2903
|
+
G,
|
|
2904
|
+
{
|
|
2905
|
+
params: e,
|
|
2906
|
+
tag: "mj-table"
|
|
2907
|
+
},
|
|
2908
|
+
u.data.value.content
|
|
2909
|
+
);
|
|
2910
|
+
}
|
|
2911
|
+
}, Kt = {
|
|
2912
|
+
[p.PAGE]: Nu,
|
|
2913
|
+
[p.SECTION]: Pu,
|
|
2914
|
+
[p.COLUMN]: Iu,
|
|
2915
|
+
[p.TEXT]: Uu,
|
|
2916
|
+
[p.IMAGE]: ju,
|
|
2917
|
+
[p.GROUP]: Vu,
|
|
2918
|
+
[p.BUTTON]: Mu,
|
|
2919
|
+
[p.DIVIDER]: Gu,
|
|
2920
|
+
[p.WRAPPER]: Wt,
|
|
2921
|
+
[p.SPACER]: zu,
|
|
2922
|
+
[p.RAW]: Xu,
|
|
2923
|
+
[p.CAROUSEL]: $u,
|
|
2924
|
+
[p.HERO]: Hu,
|
|
2925
|
+
[p.NAVBAR]: Wu,
|
|
2926
|
+
[p.SOCIAL]: Ku,
|
|
2927
|
+
// spacial block, render string
|
|
2928
|
+
[p.TEMPLATE]: Qu,
|
|
2929
|
+
// TODO:
|
|
2930
|
+
[p.ACCORDION]: Yu,
|
|
2931
|
+
[p.ACCORDION_ELEMENT]: Ke,
|
|
2932
|
+
[p.ACCORDION_TITLE]: Xe,
|
|
2933
|
+
[p.ACCORDION_TEXT]: Qe,
|
|
2934
|
+
[p.TABLE]: Ju
|
|
2935
|
+
}, Xt = mu;
|
|
2936
|
+
function Qt(e) {
|
|
2937
|
+
const u = Object.values(Kt).find(
|
|
2938
|
+
(i) => i.type === e.baseType
|
|
2939
|
+
);
|
|
2940
|
+
if (!u)
|
|
2941
|
+
throw new Error(`Can not find ${e.baseType}`);
|
|
2942
|
+
return Xt({
|
|
2943
|
+
get name() {
|
|
2944
|
+
return u.name;
|
|
2945
|
+
},
|
|
2946
|
+
type: e.type,
|
|
2947
|
+
validParentType: e.validParentType,
|
|
2948
|
+
create: (i) => {
|
|
2949
|
+
const t = $(j({}, u.create()), {
|
|
2950
|
+
type: e.type
|
|
2951
|
+
});
|
|
2952
|
+
return z(t, i);
|
|
2953
|
+
},
|
|
2954
|
+
render: (i) => {
|
|
2955
|
+
const { data: t, idx: a, mode: n, context: c, dataSource: o } = i, { iteration: l, condition: b } = t.data.value, d = (E, R) => e.getContent({
|
|
2956
|
+
index: R,
|
|
2957
|
+
data: t,
|
|
2958
|
+
idx: E,
|
|
2959
|
+
mode: n,
|
|
2960
|
+
context: c,
|
|
2961
|
+
dataSource: o
|
|
2962
|
+
});
|
|
2963
|
+
let g = d(a, 0);
|
|
2964
|
+
return n === "testing" ? /* @__PURE__ */ x.createElement(x.Fragment, null, /* @__PURE__ */ x.createElement(x.Fragment, { key: "children" }, g), new Array(((l == null ? void 0 : l.mockQuantity) || 1) - 1).fill(!0).map((E, R) => /* @__PURE__ */ x.createElement(x.Fragment, { key: R }, d(a, R + 1)))) : (b && b.enabled && (g = Ze.generateTagTemplate("condition")(
|
|
2965
|
+
b,
|
|
2966
|
+
g
|
|
2967
|
+
)), l && l.enabled && (g = Ze.generateTagTemplate("iteration")(
|
|
2968
|
+
l,
|
|
2969
|
+
g
|
|
2970
|
+
)), g);
|
|
2971
|
+
}
|
|
2972
|
+
});
|
|
2973
|
+
}
|
|
2974
|
+
var Ye = /* @__PURE__ */ ((e) => (e.TRUTHY = "truthy", e.FALSY = "falsy", e.EQUAL = "==", e.NOT_EQUAL = "!=", e.GREATER = ">", e.GREATER_OR_EQUAL = ">=", e.LESS = "<", e.LESS_OR_EQUAL = "<=", e))(Ye || {}), Zu = /* @__PURE__ */ ((e) => (e.AND = "and", e.OR = "or", e))(Zu || {});
|
|
2975
|
+
function M({
|
|
2976
|
+
idx: e,
|
|
2977
|
+
value: u,
|
|
2978
|
+
type: i,
|
|
2979
|
+
attributes: t,
|
|
2980
|
+
children: a
|
|
2981
|
+
}) {
|
|
2982
|
+
const { mode: n } = Ht(), c = X.getBlockByType(i);
|
|
2983
|
+
if (!c)
|
|
2984
|
+
throw new Error(`Can no find ${i}`);
|
|
2985
|
+
const o = ou(() => typeof a == "string" ? u ? (pu(u, "content", a), u) : {
|
|
2986
|
+
content: a
|
|
2987
|
+
} : u, [a, u]);
|
|
2988
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, c.render({
|
|
2989
|
+
idx: e,
|
|
2990
|
+
mode: n,
|
|
2991
|
+
data: {
|
|
2992
|
+
type: c.type,
|
|
2993
|
+
data: {
|
|
2994
|
+
value: o
|
|
2995
|
+
},
|
|
2996
|
+
attributes: t,
|
|
2997
|
+
children: []
|
|
2998
|
+
},
|
|
2999
|
+
children: a
|
|
3000
|
+
}));
|
|
3001
|
+
}
|
|
3002
|
+
function er(e) {
|
|
3003
|
+
return /* @__PURE__ */ x.createElement(
|
|
3004
|
+
M,
|
|
3005
|
+
{
|
|
3006
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3007
|
+
value: e.value,
|
|
3008
|
+
type: p.PAGE
|
|
3009
|
+
},
|
|
3010
|
+
e.children
|
|
3011
|
+
);
|
|
3012
|
+
}
|
|
3013
|
+
function Yt(e) {
|
|
3014
|
+
return /* @__PURE__ */ x.createElement(
|
|
3015
|
+
M,
|
|
3016
|
+
{
|
|
3017
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3018
|
+
value: e.value,
|
|
3019
|
+
type: p.SECTION
|
|
3020
|
+
},
|
|
3021
|
+
e.children
|
|
3022
|
+
);
|
|
3023
|
+
}
|
|
3024
|
+
function Jt(e) {
|
|
3025
|
+
return /* @__PURE__ */ x.createElement(
|
|
3026
|
+
M,
|
|
3027
|
+
{
|
|
3028
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3029
|
+
value: e.value,
|
|
3030
|
+
type: p.COLUMN
|
|
3031
|
+
},
|
|
3032
|
+
e.children
|
|
3033
|
+
);
|
|
3034
|
+
}
|
|
3035
|
+
function tr(e) {
|
|
3036
|
+
return /* @__PURE__ */ x.createElement(
|
|
3037
|
+
M,
|
|
3038
|
+
{
|
|
3039
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3040
|
+
value: e.value,
|
|
3041
|
+
type: p.TEXT
|
|
3042
|
+
},
|
|
3043
|
+
e.children
|
|
3044
|
+
);
|
|
3045
|
+
}
|
|
3046
|
+
function ur(e) {
|
|
3047
|
+
return /* @__PURE__ */ x.createElement(
|
|
3048
|
+
M,
|
|
3049
|
+
{
|
|
3050
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3051
|
+
value: e.value,
|
|
3052
|
+
type: p.IMAGE
|
|
3053
|
+
},
|
|
3054
|
+
e.children
|
|
3055
|
+
);
|
|
3056
|
+
}
|
|
3057
|
+
function rr(e) {
|
|
3058
|
+
return /* @__PURE__ */ x.createElement(
|
|
3059
|
+
M,
|
|
3060
|
+
{
|
|
3061
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3062
|
+
value: e.value,
|
|
3063
|
+
type: p.GROUP
|
|
3064
|
+
},
|
|
3065
|
+
e.children
|
|
3066
|
+
);
|
|
3067
|
+
}
|
|
3068
|
+
function ir(e) {
|
|
3069
|
+
return /* @__PURE__ */ x.createElement(
|
|
3070
|
+
M,
|
|
3071
|
+
{
|
|
3072
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3073
|
+
value: e.value,
|
|
3074
|
+
type: p.BUTTON
|
|
3075
|
+
},
|
|
3076
|
+
e.children
|
|
3077
|
+
);
|
|
3078
|
+
}
|
|
3079
|
+
function ar(e) {
|
|
3080
|
+
return /* @__PURE__ */ x.createElement(
|
|
3081
|
+
M,
|
|
3082
|
+
{
|
|
3083
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3084
|
+
value: e.value,
|
|
3085
|
+
type: p.DIVIDER
|
|
3086
|
+
},
|
|
3087
|
+
e.children
|
|
3088
|
+
);
|
|
3089
|
+
}
|
|
3090
|
+
function sr(e) {
|
|
3091
|
+
return /* @__PURE__ */ x.createElement(
|
|
3092
|
+
M,
|
|
3093
|
+
{
|
|
3094
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3095
|
+
value: e.value,
|
|
3096
|
+
type: p.WRAPPER
|
|
3097
|
+
},
|
|
3098
|
+
e.children
|
|
3099
|
+
);
|
|
3100
|
+
}
|
|
3101
|
+
function nr(e) {
|
|
3102
|
+
return /* @__PURE__ */ x.createElement(
|
|
3103
|
+
M,
|
|
3104
|
+
{
|
|
3105
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3106
|
+
value: e.value,
|
|
3107
|
+
type: p.SPACER
|
|
3108
|
+
},
|
|
3109
|
+
e.children
|
|
3110
|
+
);
|
|
3111
|
+
}
|
|
3112
|
+
function ce(e) {
|
|
3113
|
+
return /* @__PURE__ */ x.createElement(
|
|
3114
|
+
M,
|
|
3115
|
+
{
|
|
3116
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3117
|
+
value: e.value,
|
|
3118
|
+
type: p.RAW
|
|
3119
|
+
},
|
|
3120
|
+
e.children
|
|
3121
|
+
);
|
|
3122
|
+
}
|
|
3123
|
+
function or(e) {
|
|
3124
|
+
return /* @__PURE__ */ x.createElement(
|
|
3125
|
+
M,
|
|
3126
|
+
{
|
|
3127
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3128
|
+
value: e.value,
|
|
3129
|
+
type: p.ACCORDION
|
|
3130
|
+
},
|
|
3131
|
+
e.children
|
|
3132
|
+
);
|
|
3133
|
+
}
|
|
3134
|
+
function lr(e) {
|
|
3135
|
+
return /* @__PURE__ */ x.createElement(
|
|
3136
|
+
M,
|
|
3137
|
+
{
|
|
3138
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3139
|
+
value: e.value,
|
|
3140
|
+
type: p.ACCORDION_ELEMENT
|
|
3141
|
+
},
|
|
3142
|
+
e.children
|
|
3143
|
+
);
|
|
3144
|
+
}
|
|
3145
|
+
function cr(e) {
|
|
3146
|
+
return /* @__PURE__ */ x.createElement(
|
|
3147
|
+
M,
|
|
3148
|
+
{
|
|
3149
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3150
|
+
value: e.value,
|
|
3151
|
+
type: p.ACCORDION_TITLE
|
|
3152
|
+
},
|
|
3153
|
+
e.children
|
|
3154
|
+
);
|
|
3155
|
+
}
|
|
3156
|
+
function _r(e) {
|
|
3157
|
+
return /* @__PURE__ */ x.createElement(
|
|
3158
|
+
M,
|
|
3159
|
+
{
|
|
3160
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3161
|
+
value: e.value,
|
|
3162
|
+
type: p.ACCORDION_TEXT
|
|
3163
|
+
},
|
|
3164
|
+
e.children
|
|
3165
|
+
);
|
|
3166
|
+
}
|
|
3167
|
+
function pr(e) {
|
|
3168
|
+
return /* @__PURE__ */ x.createElement(
|
|
3169
|
+
M,
|
|
3170
|
+
{
|
|
3171
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3172
|
+
value: e.value,
|
|
3173
|
+
type: p.CAROUSEL
|
|
3174
|
+
},
|
|
3175
|
+
e.children
|
|
3176
|
+
);
|
|
3177
|
+
}
|
|
3178
|
+
function hr(e) {
|
|
3179
|
+
return /* @__PURE__ */ x.createElement(
|
|
3180
|
+
M,
|
|
3181
|
+
{
|
|
3182
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3183
|
+
value: e.value,
|
|
3184
|
+
type: p.HERO
|
|
3185
|
+
},
|
|
3186
|
+
e.children
|
|
3187
|
+
);
|
|
3188
|
+
}
|
|
3189
|
+
function fr(e) {
|
|
3190
|
+
return /* @__PURE__ */ x.createElement(
|
|
3191
|
+
M,
|
|
3192
|
+
{
|
|
3193
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3194
|
+
value: e.value,
|
|
3195
|
+
type: p.NAVBAR
|
|
3196
|
+
},
|
|
3197
|
+
e.children
|
|
3198
|
+
);
|
|
3199
|
+
}
|
|
3200
|
+
function dr(e) {
|
|
3201
|
+
return /* @__PURE__ */ x.createElement(
|
|
3202
|
+
M,
|
|
3203
|
+
{
|
|
3204
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3205
|
+
value: e.value,
|
|
3206
|
+
type: p.SOCIAL
|
|
3207
|
+
},
|
|
3208
|
+
e.children
|
|
3209
|
+
);
|
|
3210
|
+
}
|
|
3211
|
+
function gr(e) {
|
|
3212
|
+
return /* @__PURE__ */ x.createElement(
|
|
3213
|
+
M,
|
|
3214
|
+
{
|
|
3215
|
+
attributes: V(e, ["data", "children", "value"]),
|
|
3216
|
+
value: e.value,
|
|
3217
|
+
type: p.TABLE
|
|
3218
|
+
},
|
|
3219
|
+
e.children
|
|
3220
|
+
);
|
|
3221
|
+
}
|
|
3222
|
+
function mr(e) {
|
|
3223
|
+
return e.children;
|
|
3224
|
+
}
|
|
3225
|
+
const Wr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3226
|
+
__proto__: null,
|
|
3227
|
+
Accordion: or,
|
|
3228
|
+
AccordionElement: lr,
|
|
3229
|
+
AccordionText: _r,
|
|
3230
|
+
AccordionTitle: cr,
|
|
3231
|
+
BlockRenderer: ie,
|
|
3232
|
+
Button: ir,
|
|
3233
|
+
Carousel: pr,
|
|
3234
|
+
Column: Jt,
|
|
3235
|
+
Divider: ar,
|
|
3236
|
+
Group: rr,
|
|
3237
|
+
Hero: hr,
|
|
3238
|
+
Image: ur,
|
|
3239
|
+
MjmlBlock: M,
|
|
3240
|
+
Navbar: fr,
|
|
3241
|
+
Page: er,
|
|
3242
|
+
Raw: ce,
|
|
3243
|
+
Section: Yt,
|
|
3244
|
+
Social: dr,
|
|
3245
|
+
Spacer: nr,
|
|
3246
|
+
Table: gr,
|
|
3247
|
+
Template: mr,
|
|
3248
|
+
Text: tr,
|
|
3249
|
+
Wrapper: sr
|
|
3250
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
3251
|
+
function te(...e) {
|
|
3252
|
+
return e.filter((u) => typeof u == "string").join(" ");
|
|
3253
|
+
}
|
|
3254
|
+
function Dr(e, u) {
|
|
3255
|
+
let i = -1;
|
|
3256
|
+
const t = X.getAutoCompletePath(e, u);
|
|
3257
|
+
return t ? t.length + 1 : i;
|
|
3258
|
+
}
|
|
3259
|
+
function Zt() {
|
|
3260
|
+
return "content";
|
|
3261
|
+
}
|
|
3262
|
+
function st(e, u) {
|
|
3263
|
+
return `${e}.children.[${u}]`;
|
|
3264
|
+
}
|
|
3265
|
+
function eu(e) {
|
|
3266
|
+
return `node-idx-${e}`;
|
|
3267
|
+
}
|
|
3268
|
+
function Je(e) {
|
|
3269
|
+
return `node-type-${e}`;
|
|
3270
|
+
}
|
|
3271
|
+
function Kr(e) {
|
|
3272
|
+
var u;
|
|
3273
|
+
return (u = Array.from(e).find((i) => i.includes("node-idx-"))) == null ? void 0 : u.replace("node-idx-", "");
|
|
3274
|
+
}
|
|
3275
|
+
function Xr(e) {
|
|
3276
|
+
var u;
|
|
3277
|
+
return (u = Array.from(tt(e) ? e.split(" ") : e).find((i) => i.includes("node-type-"))) == null ? void 0 : u.replace("node-type-", "");
|
|
3278
|
+
}
|
|
3279
|
+
const br = (e) => {
|
|
3280
|
+
var u;
|
|
3281
|
+
return Number((u = /\.\[(\d+)\]$/.exec(e)) == null ? void 0 : u[1]) || 0;
|
|
3282
|
+
}, _e = (e) => {
|
|
3283
|
+
var u;
|
|
3284
|
+
if (e !== Zt())
|
|
3285
|
+
return (u = /(.*)\.children\.\[\d+\]$/.exec(e)) == null ? void 0 : u[1];
|
|
3286
|
+
}, Qr = (e, u) => ae(e, u), Ar = (e, u) => ae(e, _e(u) || ""), Yr = (e, u) => e.replace(/\[(\d+)\]$/, (i, t) => Number(t) + u < 0 ? "[0]" : `[${Number(t) + u}]`), Jr = (e, u, i) => {
|
|
3287
|
+
if (!u) return null;
|
|
3288
|
+
let t = _e(u);
|
|
3289
|
+
for (; t; ) {
|
|
3290
|
+
const a = ae(e, t);
|
|
3291
|
+
if (a && a.type === i) return a;
|
|
3292
|
+
t = _e(u);
|
|
3293
|
+
}
|
|
3294
|
+
return null;
|
|
3295
|
+
}, Zr = (e, u, i) => {
|
|
3296
|
+
let t = u;
|
|
3297
|
+
const a = X.getBlockByType(i);
|
|
3298
|
+
if (!a) return null;
|
|
3299
|
+
for (; t; ) {
|
|
3300
|
+
const n = ae(e, t);
|
|
3301
|
+
if (Dr(a.type, n.type) > 0)
|
|
3302
|
+
return {
|
|
3303
|
+
parent: n,
|
|
3304
|
+
parentIdx: t
|
|
3305
|
+
};
|
|
3306
|
+
t = _e(t);
|
|
3307
|
+
}
|
|
3308
|
+
return null;
|
|
3309
|
+
}, ei = (e, u, i) => {
|
|
3310
|
+
let t = "", a = u;
|
|
3311
|
+
for (; a; ) {
|
|
3312
|
+
const n = ae(e, a);
|
|
3313
|
+
if (n && n.type === i)
|
|
3314
|
+
return {
|
|
3315
|
+
insertIndex: t ? br(t) : n.children.length - 1,
|
|
3316
|
+
parentIdx: a,
|
|
3317
|
+
parent: n
|
|
3318
|
+
};
|
|
3319
|
+
t = a, a = _e(a);
|
|
3320
|
+
}
|
|
3321
|
+
return null;
|
|
3322
|
+
}, ti = (e) => X.getBlocks().filter(
|
|
3323
|
+
(u) => u.validParentType.includes(e)
|
|
3324
|
+
);
|
|
3325
|
+
function tu(e, u) {
|
|
3326
|
+
return te(
|
|
3327
|
+
"email-block",
|
|
3328
|
+
e && eu(e),
|
|
3329
|
+
Je(u)
|
|
3330
|
+
);
|
|
3331
|
+
}
|
|
3332
|
+
function Y(e) {
|
|
3333
|
+
return Qt($(j({}, e), {
|
|
3334
|
+
validParentType: [
|
|
3335
|
+
p.PAGE,
|
|
3336
|
+
p.WRAPPER,
|
|
3337
|
+
p.COLUMN,
|
|
3338
|
+
p.GROUP,
|
|
3339
|
+
p.HERO,
|
|
3340
|
+
F.WRAPPER,
|
|
3341
|
+
F.COLUMN,
|
|
3342
|
+
F.GROUP,
|
|
3343
|
+
F.HERO
|
|
3344
|
+
],
|
|
3345
|
+
getContent: (u) => {
|
|
3346
|
+
const { data: i, idx: t, mode: a, context: n, index: c } = u, o = a === "testing" ? te(
|
|
3347
|
+
c === 0 && t && tu(t, i.type)
|
|
3348
|
+
) : "", l = $(j({}, i), {
|
|
3349
|
+
type: e.baseType,
|
|
3350
|
+
attributes: $(j({}, i.attributes), {
|
|
3351
|
+
"css-class": te(
|
|
3352
|
+
i.attributes["css-class"],
|
|
3353
|
+
o
|
|
3354
|
+
)
|
|
3355
|
+
})
|
|
3356
|
+
}), b = X.getBlockByType(l.type);
|
|
3357
|
+
if (!b)
|
|
3358
|
+
throw new Error(`Can not find ${l.type}`);
|
|
3359
|
+
const d = b == null ? void 0 : b.render($(j({}, u), { data: l, idx: t })), g = Ar({ content: n }, t);
|
|
3360
|
+
return g && (g.type === p.PAGE || g.type === p.WRAPPER || g.type === F.WRAPPER) ? /* @__PURE__ */ x.createElement(Yt, { padding: "0px", "text-align": "left" }, /* @__PURE__ */ x.createElement(Jt, null, d)) : d;
|
|
3361
|
+
}
|
|
3362
|
+
}));
|
|
3363
|
+
}
|
|
3364
|
+
function he(e) {
|
|
3365
|
+
return Qt($(j({}, e), {
|
|
3366
|
+
getContent: (u) => {
|
|
3367
|
+
const { data: i, idx: t, mode: a, index: n } = u, { iteration: c } = i.data.value, o = $(j({}, i), {
|
|
3368
|
+
type: e.baseType
|
|
3369
|
+
});
|
|
3370
|
+
i.type === F.COLUMN && (c != null && c.enabled) && (i.attributes.width = i.attributes.width || "100%");
|
|
3371
|
+
const l = a === "testing" ? te(
|
|
3372
|
+
n === 0 && t && tu(t, i.type)
|
|
3373
|
+
) : "";
|
|
3374
|
+
return /* @__PURE__ */ x.createElement(
|
|
3375
|
+
ie,
|
|
3376
|
+
{
|
|
3377
|
+
idx: null,
|
|
3378
|
+
data: $(j({}, o), {
|
|
3379
|
+
attributes: $(j({}, o.attributes), {
|
|
3380
|
+
"css-class": te(
|
|
3381
|
+
i.attributes["css-class"],
|
|
3382
|
+
l
|
|
3383
|
+
)
|
|
3384
|
+
})
|
|
3385
|
+
})
|
|
3386
|
+
},
|
|
3387
|
+
o.children.map((b, d) => /* @__PURE__ */ x.createElement(
|
|
3388
|
+
ie,
|
|
3389
|
+
$(j({
|
|
3390
|
+
key: d
|
|
3391
|
+
}, u), {
|
|
3392
|
+
data: b,
|
|
3393
|
+
idx: t ? st(t, d) : null
|
|
3394
|
+
})
|
|
3395
|
+
))
|
|
3396
|
+
);
|
|
3397
|
+
}
|
|
3398
|
+
}));
|
|
3399
|
+
}
|
|
3400
|
+
function vr(e) {
|
|
3401
|
+
return Xt({
|
|
3402
|
+
get name() {
|
|
3403
|
+
return I("Table");
|
|
3404
|
+
},
|
|
3405
|
+
type: e.type,
|
|
3406
|
+
validParentType: [p.COLUMN],
|
|
3407
|
+
create: (u) => {
|
|
3408
|
+
const i = {
|
|
3409
|
+
type: e.type,
|
|
3410
|
+
data: {
|
|
3411
|
+
value: {
|
|
3412
|
+
tableSource: [
|
|
3413
|
+
[{ content: "header1" }, { content: "header2" }, { content: "header3" }],
|
|
3414
|
+
[{ content: "body1-1" }, { content: "body1-2" }, { content: "body1-3" }],
|
|
3415
|
+
[{ content: "body2-1" }, { content: "body2-2" }, { content: "body2-3" }]
|
|
3416
|
+
]
|
|
3417
|
+
}
|
|
3418
|
+
},
|
|
3419
|
+
attributes: {
|
|
3420
|
+
cellBorderColor: "#000000",
|
|
3421
|
+
cellPadding: "8px",
|
|
3422
|
+
"text-align": "center"
|
|
3423
|
+
},
|
|
3424
|
+
children: []
|
|
3425
|
+
};
|
|
3426
|
+
return z(i, u);
|
|
3427
|
+
},
|
|
3428
|
+
render: (u) => {
|
|
3429
|
+
const { data: i } = u, { cellPadding: t, cellBorderColor: a } = i.attributes, n = i.attributes["text-align"], c = i.attributes["font-style"], o = i.data.value.tableSource.map((l, b) => {
|
|
3430
|
+
const d = [];
|
|
3431
|
+
t && d.push(`padding: ${t}`), a && d.push(`border: 1px solid ${a}`);
|
|
3432
|
+
const g = l.map(
|
|
3433
|
+
(E) => `<td rowspan="${E.rowSpan || 1}" colspan="${E.colSpan || 1}" style="${d.join(";")}; background-color:${E.backgroundColor};">${E.content}</td>`
|
|
3434
|
+
);
|
|
3435
|
+
return `<tr style="text-align:${n};font-style:${c};">${g.join(
|
|
3436
|
+
`
|
|
3437
|
+
`
|
|
3438
|
+
)}</tr>`;
|
|
3439
|
+
}).join(`
|
|
3440
|
+
`);
|
|
3441
|
+
return /* @__PURE__ */ x.createElement(
|
|
3442
|
+
G,
|
|
3443
|
+
{
|
|
3444
|
+
params: u,
|
|
3445
|
+
tag: "mj-table"
|
|
3446
|
+
},
|
|
3447
|
+
o
|
|
3448
|
+
);
|
|
3449
|
+
}
|
|
3450
|
+
});
|
|
3451
|
+
}
|
|
3452
|
+
const Er = Y({
|
|
3453
|
+
type: F.TEXT,
|
|
3454
|
+
baseType: p.TEXT
|
|
3455
|
+
}), yr = Y({
|
|
3456
|
+
type: F.BUTTON,
|
|
3457
|
+
baseType: p.BUTTON
|
|
3458
|
+
}), xr = Y({
|
|
3459
|
+
type: F.IMAGE,
|
|
3460
|
+
baseType: p.IMAGE
|
|
3461
|
+
}), Cr = Y({
|
|
3462
|
+
type: F.DIVIDER,
|
|
3463
|
+
baseType: p.DIVIDER
|
|
3464
|
+
}), wr = Y({
|
|
3465
|
+
type: F.SPACER,
|
|
3466
|
+
baseType: p.SPACER
|
|
3467
|
+
}), Br = Y({
|
|
3468
|
+
type: F.NAVBAR,
|
|
3469
|
+
baseType: p.NAVBAR
|
|
3470
|
+
}), Tr = Y({
|
|
3471
|
+
type: F.ACCORDION,
|
|
3472
|
+
baseType: p.ACCORDION
|
|
3473
|
+
}), Fr = Y({
|
|
3474
|
+
type: F.CAROUSEL,
|
|
3475
|
+
baseType: p.CAROUSEL
|
|
3476
|
+
}), Or = Y({
|
|
3477
|
+
type: F.SOCIAL,
|
|
3478
|
+
baseType: p.SOCIAL
|
|
3479
|
+
}), kr = vr({
|
|
3480
|
+
type: F.TABLE,
|
|
3481
|
+
baseType: p.TABLE
|
|
3482
|
+
}), Rr = he({
|
|
3483
|
+
type: F.WRAPPER,
|
|
3484
|
+
baseType: p.WRAPPER,
|
|
3485
|
+
validParentType: [p.PAGE]
|
|
3486
|
+
}), qr = he({
|
|
3487
|
+
type: F.SECTION,
|
|
3488
|
+
baseType: p.SECTION,
|
|
3489
|
+
validParentType: [p.PAGE, p.WRAPPER, F.WRAPPER]
|
|
3490
|
+
}), Sr = he({
|
|
3491
|
+
type: F.GROUP,
|
|
3492
|
+
baseType: p.GROUP,
|
|
3493
|
+
validParentType: [p.SECTION, F.SECTION]
|
|
3494
|
+
}), Lr = he({
|
|
3495
|
+
type: F.COLUMN,
|
|
3496
|
+
baseType: p.COLUMN,
|
|
3497
|
+
validParentType: [
|
|
3498
|
+
p.SECTION,
|
|
3499
|
+
F.SECTION,
|
|
3500
|
+
p.GROUP,
|
|
3501
|
+
F.GROUP
|
|
3502
|
+
]
|
|
3503
|
+
}), Nr = he({
|
|
3504
|
+
type: F.HERO,
|
|
3505
|
+
baseType: p.HERO,
|
|
3506
|
+
validParentType: [p.WRAPPER, F.WRAPPER, p.PAGE]
|
|
3507
|
+
}), Pr = {
|
|
3508
|
+
[F.TEXT]: Er,
|
|
3509
|
+
[F.BUTTON]: yr,
|
|
3510
|
+
[F.IMAGE]: xr,
|
|
3511
|
+
[F.DIVIDER]: Cr,
|
|
3512
|
+
[F.SPACER]: wr,
|
|
3513
|
+
[F.NAVBAR]: Br,
|
|
3514
|
+
[F.ACCORDION]: Tr,
|
|
3515
|
+
[F.CAROUSEL]: Fr,
|
|
3516
|
+
[F.SOCIAL]: Or,
|
|
3517
|
+
[F.TABLE]: kr,
|
|
3518
|
+
[F.WRAPPER]: Rr,
|
|
3519
|
+
[F.SECTION]: qr,
|
|
3520
|
+
[F.GROUP]: Sr,
|
|
3521
|
+
[F.COLUMN]: Lr,
|
|
3522
|
+
[F.HERO]: Nr
|
|
3523
|
+
};
|
|
3524
|
+
class X {
|
|
3525
|
+
static setAutoCompletePath() {
|
|
3526
|
+
const u = {}, i = (t, a, n) => {
|
|
3527
|
+
const c = this.getBlockByType(t);
|
|
3528
|
+
if (!c)
|
|
3529
|
+
throw new Error(`Can you register ${t} block`);
|
|
3530
|
+
const o = [...n, t];
|
|
3531
|
+
return c.validParentType.length === 0 && a.push(o), c.validParentType.map((l) => i(l, a, o));
|
|
3532
|
+
};
|
|
3533
|
+
return Object.values(this.blocksMap).forEach((t) => {
|
|
3534
|
+
u[t.type] = [], i(t.type, u[t.type], []);
|
|
3535
|
+
}), u;
|
|
3536
|
+
}
|
|
3537
|
+
static getBlocks() {
|
|
3538
|
+
return Object.values(this.blocksMap);
|
|
3539
|
+
}
|
|
3540
|
+
static registerBlocks(u) {
|
|
3541
|
+
this.blocksMap = j(j({}, this.blocksMap), u), this.autoCompletePath = this.setAutoCompletePath();
|
|
3542
|
+
}
|
|
3543
|
+
static getBlockByType(u) {
|
|
3544
|
+
return this.blocksMap[u];
|
|
3545
|
+
}
|
|
3546
|
+
static getBlocksByType(u) {
|
|
3547
|
+
return u.map((i) => Object.values(this.blocksMap).find((a) => a.type === i));
|
|
3548
|
+
}
|
|
3549
|
+
static getAutoCompleteFullPath() {
|
|
3550
|
+
return Object.keys(this.autoCompletePath).length === 0 && (this.autoCompletePath = this.setAutoCompletePath()), this.autoCompletePath;
|
|
3551
|
+
}
|
|
3552
|
+
static getAutoCompletePath(u, i) {
|
|
3553
|
+
const t = this.getBlockByType(u);
|
|
3554
|
+
if (!t)
|
|
3555
|
+
throw new Error(`Can you register ${u} block`);
|
|
3556
|
+
if (t.validParentType.includes(i))
|
|
3557
|
+
return [];
|
|
3558
|
+
const a = this.getAutoCompleteFullPath()[u].find(
|
|
3559
|
+
(c) => c.filter((o, l) => l !== 0).includes(i)
|
|
3560
|
+
);
|
|
3561
|
+
if (!a) return null;
|
|
3562
|
+
const n = a.findIndex((c) => c === i);
|
|
3563
|
+
return a.slice(1, n);
|
|
3564
|
+
}
|
|
3565
|
+
}
|
|
3566
|
+
ee(X, "blocksMap", j(j({}, Kt), Pr)), ee(X, "autoCompletePath", {});
|
|
3567
|
+
function ui(e) {
|
|
3568
|
+
try {
|
|
3569
|
+
if (e.attributes && e.children && e.data && e.type && X.getBlockByType(e.type))
|
|
3570
|
+
return !0;
|
|
3571
|
+
} catch (u) {
|
|
3572
|
+
}
|
|
3573
|
+
return !1;
|
|
3574
|
+
}
|
|
3575
|
+
function ri(e) {
|
|
3576
|
+
return JSON.parse(hu(It(e)));
|
|
3577
|
+
}
|
|
3578
|
+
function ii(e, u) {
|
|
3579
|
+
const i = X.getBlockByType(e);
|
|
3580
|
+
if (i)
|
|
3581
|
+
try {
|
|
3582
|
+
const t = i.create(u);
|
|
3583
|
+
return t.data || (t.data = { value: {} }), t.data.value || (t.data.value = {}), t.attributes || (t.attributes = {}), Array.isArray(t.children) || (t.children = []), t;
|
|
3584
|
+
} catch (t) {
|
|
3585
|
+
throw console.error(`Error creating block ${e}:`, t), new Error(`Failed to create block \`${e}\`: ${t instanceof Error ? t.message : String(t)}`);
|
|
3586
|
+
}
|
|
3587
|
+
throw new Error(`No match \`${e}\` block`);
|
|
3588
|
+
}
|
|
3589
|
+
function Ir(e, u) {
|
|
3590
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, /* @__PURE__ */ x.createElement(ce, null, `
|
|
3591
|
+
<!-- htmlmin:ignore -->
|
|
3592
|
+
{% for ${e.itemName} in ${e.dataSource} ${e.limit ? `limit:${e.limit}` : ""} %}
|
|
3593
|
+
<!-- htmlmin:ignore -->
|
|
3594
|
+
`), u, /* @__PURE__ */ x.createElement(ce, null, " <!-- htmlmin:ignore -->{% endfor %} <!-- htmlmin:ignore -->"));
|
|
3595
|
+
}
|
|
3596
|
+
function Ur(e, u) {
|
|
3597
|
+
const { symbol: i, groups: t } = e, a = (b) => b.operator === Ye.TRUTHY ? b.left : b.operator === Ye.FALSY ? `${b.left} == nil or ${b.left} == false` : b.left + " " + b.operator + " " + (fu(b.right) ? b.right : `"${b.right}"`), n = du(), c = t.map((b, d) => `con_${d}_${n}`), o = t.map((b, d) => `{% assign ${c[d]} = ${b.groups.map(a).join(` ${b.symbol} `)} %}`).join(`
|
|
3598
|
+
`), l = c.join(` ${i} `);
|
|
3599
|
+
return /* @__PURE__ */ x.createElement(x.Fragment, null, /* @__PURE__ */ x.createElement(ce, null, `
|
|
3600
|
+
<!-- htmlmin:ignore -->
|
|
3601
|
+
${o}
|
|
3602
|
+
{% if ${l} %}
|
|
3603
|
+
<!-- htmlmin:ignore -->
|
|
3604
|
+
`), u, /* @__PURE__ */ x.createElement(ce, null, `
|
|
3605
|
+
<!-- htmlmin:ignore -->
|
|
3606
|
+
{% endif %}
|
|
3607
|
+
<!-- htmlmin:ignore -->
|
|
3608
|
+
`));
|
|
3609
|
+
}
|
|
3610
|
+
class Ze {
|
|
3611
|
+
static setTag(u) {
|
|
3612
|
+
this.tags[u.name] = u.templateGenerateFn;
|
|
3613
|
+
}
|
|
3614
|
+
static generateTagTemplate(u) {
|
|
3615
|
+
return this.tags[u];
|
|
3616
|
+
}
|
|
3617
|
+
}
|
|
3618
|
+
ee(Ze, "tags", {
|
|
3619
|
+
iteration: Ir,
|
|
3620
|
+
condition: Ur
|
|
3621
|
+
});
|
|
3622
|
+
function ai(e) {
|
|
3623
|
+
return Object.values(F).includes(e);
|
|
3624
|
+
}
|
|
3625
|
+
function et(e) {
|
|
3626
|
+
const { data: u, idx: i } = e, t = e.mode === "testing", a = j({}, u.attributes), n = t ? e.keepClassName : !1;
|
|
3627
|
+
t && i && (a["css-class"] = te(
|
|
3628
|
+
a["css-class"],
|
|
3629
|
+
gu,
|
|
3630
|
+
eu(i),
|
|
3631
|
+
Je(u.type)
|
|
3632
|
+
)), n && (a["css-class"] = te(
|
|
3633
|
+
a["css-class"],
|
|
3634
|
+
Je(u.type)
|
|
3635
|
+
));
|
|
3636
|
+
let c = "";
|
|
3637
|
+
for (let o in a) {
|
|
3638
|
+
const b = a[o];
|
|
3639
|
+
typeof b == "boolean" ? c += `${o}="${b.toString()}" ` : tt(b) && b && (c += `${o}="${b.replace(/"/gm, "")}" `);
|
|
3640
|
+
}
|
|
3641
|
+
return c;
|
|
3642
|
+
}
|
|
3643
|
+
export {
|
|
3644
|
+
F as AdvancedType,
|
|
3645
|
+
p as BasicType,
|
|
3646
|
+
X as BlockManager,
|
|
3647
|
+
gu as EMAIL_BLOCK_CLASS_NAME,
|
|
3648
|
+
We as I18nManager,
|
|
3649
|
+
we as ImageManager,
|
|
3650
|
+
Hr as JsonToMjml,
|
|
3651
|
+
$r as MERGE_TAG_CLASS_NAME,
|
|
3652
|
+
Ye as Operator,
|
|
3653
|
+
Zu as OperatorSymbol,
|
|
3654
|
+
Ze as TemplateEngineManager,
|
|
3655
|
+
Pr as advancedBlocks,
|
|
3656
|
+
Dr as ancestorOf,
|
|
3657
|
+
Wr as components,
|
|
3658
|
+
mu as createBlock,
|
|
3659
|
+
ii as createBlockDataByType,
|
|
3660
|
+
Xt as createCustomBlock,
|
|
3661
|
+
et as getAdapterAttributesString,
|
|
3662
|
+
st as getChildIdx,
|
|
3663
|
+
br as getIndexByIdx,
|
|
3664
|
+
eu as getNodeIdxClassName,
|
|
3665
|
+
Kr as getNodeIdxFromClassName,
|
|
3666
|
+
Je as getNodeTypeClassName,
|
|
3667
|
+
Xr as getNodeTypeFromClassName,
|
|
3668
|
+
Zt as getPageIdx,
|
|
3669
|
+
ei as getParenRelativeByType,
|
|
3670
|
+
Ar as getParentByIdx,
|
|
3671
|
+
Jr as getParentByType,
|
|
3672
|
+
_e as getParentIdx,
|
|
3673
|
+
tu as getPreviewClassName,
|
|
3674
|
+
Zr as getSameParent,
|
|
3675
|
+
Yr as getSiblingIdx,
|
|
3676
|
+
ti as getValidChildBlocks,
|
|
3677
|
+
Qr as getValueByIdx,
|
|
3678
|
+
ai as isAdvancedBlock,
|
|
3679
|
+
ui as isValidBlockData,
|
|
3680
|
+
pe as mergeBlock,
|
|
3681
|
+
ri as parseReactBlockToBlockData,
|
|
3682
|
+
Kt as standardBlocks,
|
|
3683
|
+
I as t
|
|
3684
|
+
};
|
|
3685
|
+
//# sourceMappingURL=index.es.js.map
|