@opentiny/tiny-engine-setting-events 2.8.0-rc.0 → 2.8.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/dist/index.js +103 -109
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "./style.css";
|
|
2
2
|
import { ref as Lt, reactive as Ut, provide as he, nextTick as Ee, resolveComponent as B, createBlock as tt, openBlock as S, withCtx as I, createElementVNode as m, createVNode as _, resolveDynamicComponent as te, createTextVNode as Dt, unref as O, createElementBlock as J, Fragment as $t, withDirectives as ee, renderList as Ht, normalizeClass as It, toDisplayString as W, createCommentVNode as zt, vShow as ne, computed as Tt, watchEffect as ue, watch as ie, inject as ge } from "vue";
|
|
3
|
-
import { callEntry as b, META_APP as
|
|
4
|
-
import { TinyAlert as ye, DialogBox as fe, Button as Ft, Form as we, FormItem as oe, Input as qt, Popover as
|
|
3
|
+
import { callEntry as b, META_APP as x, getMetaApi as k, getOptions as X, useLayout as N, useHistory as K, useCanvas as y, getMergeMeta as L, useBlock as pt, useMaterial as vt, useModal as bt, useMessage as _t, useProperties as $ } from "@opentiny/tiny-engine-meta-register";
|
|
4
|
+
import { TinyAlert as ye, DialogBox as fe, Button as Ft, Form as we, FormItem as oe, Input as qt, Popover as Ce, Tooltip as xe, Collapse as ke, CollapseItem as se, Checkbox as De, Search as Se } from "@opentiny/vue";
|
|
5
5
|
import Et from "@opentiny/tiny-engine-common/js/i18n";
|
|
6
6
|
import { SvgButton as yt, BlockLinkEvent as wt, PluginPanel as Ae, VueMonaco as St } from "@opentiny/tiny-engine-common";
|
|
7
|
-
import { iconChevronDown as
|
|
7
|
+
import { iconChevronDown as Ct } from "@opentiny/vue-icon";
|
|
8
8
|
import { string2Ast as H } from "@opentiny/tiny-engine-common/js/ast";
|
|
9
9
|
import { CodeConfigurator as st, InputConfigurator as rt, VariableConfigurator as at, SwitchConfigurator as lt } from "@opentiny/tiny-engine-configurator";
|
|
10
10
|
import { PROP_DATA_TYPE as G } from "@opentiny/tiny-engine-common/js/constants";
|
|
@@ -546,11 +546,12 @@ class U {
|
|
|
546
546
|
}
|
|
547
547
|
_split(t) {
|
|
548
548
|
if (this.byStart[t] || this.byEnd[t]) return;
|
|
549
|
-
let n = this.lastSearchedChunk;
|
|
550
|
-
const
|
|
549
|
+
let n = this.lastSearchedChunk, e = n;
|
|
550
|
+
const i = t > n.end;
|
|
551
551
|
for (; n; ) {
|
|
552
552
|
if (n.contains(t)) return this._splitChunk(n, t);
|
|
553
|
-
n =
|
|
553
|
+
if (n = i ? this.byStart[n.end] : this.byEnd[n.start], n === e) return;
|
|
554
|
+
e = n;
|
|
554
555
|
}
|
|
555
556
|
}
|
|
556
557
|
_splitChunk(t, n) {
|
|
@@ -690,7 +691,7 @@ const Bt = (c, t) => {
|
|
|
690
691
|
useLayout: N,
|
|
691
692
|
getOptions: X,
|
|
692
693
|
getMetaApi: k,
|
|
693
|
-
META_APP:
|
|
694
|
+
META_APP: x,
|
|
694
695
|
MagicString: U,
|
|
695
696
|
meta: R,
|
|
696
697
|
dialogVisible: j,
|
|
@@ -711,7 +712,7 @@ const Bt = (c, t) => {
|
|
|
711
712
|
useLayout: N,
|
|
712
713
|
getOptions: X,
|
|
713
714
|
getMetaApi: k,
|
|
714
|
-
META_APP:
|
|
715
|
+
META_APP: x,
|
|
715
716
|
MagicString: U,
|
|
716
717
|
meta: R,
|
|
717
718
|
dialogVisible: j,
|
|
@@ -744,7 +745,7 @@ const Bt = (c, t) => {
|
|
|
744
745
|
getMethods: s,
|
|
745
746
|
saveMethod: r,
|
|
746
747
|
highlightMethod: a
|
|
747
|
-
} = k(
|
|
748
|
+
} = k(x.Page), d = Ut({
|
|
748
749
|
editorContent: "",
|
|
749
750
|
bindMethodInfo: {},
|
|
750
751
|
tip: "",
|
|
@@ -777,7 +778,7 @@ const Bt = (c, t) => {
|
|
|
777
778
|
getFormatParams: g,
|
|
778
779
|
rewriteMethodParams: p,
|
|
779
780
|
activePagePlugin: w,
|
|
780
|
-
confirm:
|
|
781
|
+
confirm: C,
|
|
781
782
|
openedDialog: A,
|
|
782
783
|
closeDialog: P,
|
|
783
784
|
string2Ast: H,
|
|
@@ -787,7 +788,7 @@ const Bt = (c, t) => {
|
|
|
787
788
|
useLayout: N,
|
|
788
789
|
getOptions: X,
|
|
789
790
|
getMetaApi: k,
|
|
790
|
-
META_APP:
|
|
791
|
+
META_APP: x,
|
|
791
792
|
MagicString: U,
|
|
792
793
|
meta: R,
|
|
793
794
|
dialogVisible: j,
|
|
@@ -834,7 +835,7 @@ const Bt = (c, t) => {
|
|
|
834
835
|
getFormatParams: g,
|
|
835
836
|
rewriteMethodParams: p,
|
|
836
837
|
activePagePlugin: w,
|
|
837
|
-
confirm:
|
|
838
|
+
confirm: C,
|
|
838
839
|
openedDialog: A,
|
|
839
840
|
closeDialog: P,
|
|
840
841
|
string2Ast: H,
|
|
@@ -844,7 +845,7 @@ const Bt = (c, t) => {
|
|
|
844
845
|
useLayout: N,
|
|
845
846
|
getOptions: X,
|
|
846
847
|
getMetaApi: k,
|
|
847
|
-
META_APP:
|
|
848
|
+
META_APP: x,
|
|
848
849
|
MagicString: U,
|
|
849
850
|
meta: R,
|
|
850
851
|
dialogVisible: j,
|
|
@@ -875,7 +876,7 @@ const Bt = (c, t) => {
|
|
|
875
876
|
getFormatParams: g,
|
|
876
877
|
rewriteMethodParams: p,
|
|
877
878
|
activePagePlugin: w,
|
|
878
|
-
confirm:
|
|
879
|
+
confirm: C,
|
|
879
880
|
openedDialog: A,
|
|
880
881
|
closeDialog: P,
|
|
881
882
|
string2Ast: H,
|
|
@@ -885,7 +886,7 @@ const Bt = (c, t) => {
|
|
|
885
886
|
useLayout: N,
|
|
886
887
|
getOptions: X,
|
|
887
888
|
getMetaApi: k,
|
|
888
|
-
META_APP:
|
|
889
|
+
META_APP: x,
|
|
889
890
|
MagicString: U,
|
|
890
891
|
meta: R,
|
|
891
892
|
dialogVisible: j,
|
|
@@ -923,7 +924,7 @@ const Bt = (c, t) => {
|
|
|
923
924
|
getFormatParams: g,
|
|
924
925
|
rewriteMethodParams: p,
|
|
925
926
|
activePagePlugin: w,
|
|
926
|
-
confirm:
|
|
927
|
+
confirm: C,
|
|
927
928
|
openedDialog: A,
|
|
928
929
|
closeDialog: P,
|
|
929
930
|
string2Ast: H,
|
|
@@ -933,7 +934,7 @@ const Bt = (c, t) => {
|
|
|
933
934
|
useLayout: N,
|
|
934
935
|
getOptions: X,
|
|
935
936
|
getMetaApi: k,
|
|
936
|
-
META_APP:
|
|
937
|
+
META_APP: x,
|
|
937
938
|
MagicString: U,
|
|
938
939
|
meta: R,
|
|
939
940
|
dialogVisible: j,
|
|
@@ -964,7 +965,7 @@ const Bt = (c, t) => {
|
|
|
964
965
|
getFormatParams: g,
|
|
965
966
|
rewriteMethodParams: p,
|
|
966
967
|
activePagePlugin: w,
|
|
967
|
-
confirm:
|
|
968
|
+
confirm: C,
|
|
968
969
|
openedDialog: A,
|
|
969
970
|
closeDialog: P,
|
|
970
971
|
string2Ast: H,
|
|
@@ -974,7 +975,7 @@ const Bt = (c, t) => {
|
|
|
974
975
|
useLayout: N,
|
|
975
976
|
getOptions: X,
|
|
976
977
|
getMetaApi: k,
|
|
977
|
-
META_APP:
|
|
978
|
+
META_APP: x,
|
|
978
979
|
MagicString: U,
|
|
979
980
|
meta: R,
|
|
980
981
|
dialogVisible: j,
|
|
@@ -1021,7 +1022,7 @@ const Bt = (c, t) => {
|
|
|
1021
1022
|
getFormatParams: g,
|
|
1022
1023
|
rewriteMethodParams: p,
|
|
1023
1024
|
activePagePlugin: w,
|
|
1024
|
-
confirm:
|
|
1025
|
+
confirm: C,
|
|
1025
1026
|
openedDialog: A,
|
|
1026
1027
|
closeDialog: P,
|
|
1027
1028
|
string2Ast: H,
|
|
@@ -1031,7 +1032,7 @@ const Bt = (c, t) => {
|
|
|
1031
1032
|
useLayout: N,
|
|
1032
1033
|
getOptions: X,
|
|
1033
1034
|
getMetaApi: k,
|
|
1034
|
-
META_APP:
|
|
1035
|
+
META_APP: x,
|
|
1035
1036
|
MagicString: U,
|
|
1036
1037
|
meta: R,
|
|
1037
1038
|
dialogVisible: j,
|
|
@@ -1067,7 +1068,7 @@ const Bt = (c, t) => {
|
|
|
1067
1068
|
getFormatParams: g,
|
|
1068
1069
|
rewriteMethodParams: p,
|
|
1069
1070
|
activePagePlugin: w,
|
|
1070
|
-
confirm:
|
|
1071
|
+
confirm: C,
|
|
1071
1072
|
openedDialog: A,
|
|
1072
1073
|
closeDialog: P,
|
|
1073
1074
|
string2Ast: H,
|
|
@@ -1077,14 +1078,14 @@ const Bt = (c, t) => {
|
|
|
1077
1078
|
useLayout: N,
|
|
1078
1079
|
getOptions: X,
|
|
1079
1080
|
getMetaApi: k,
|
|
1080
|
-
META_APP:
|
|
1081
|
+
META_APP: x,
|
|
1081
1082
|
MagicString: U,
|
|
1082
1083
|
meta: R,
|
|
1083
1084
|
dialogVisible: j,
|
|
1084
1085
|
open: V,
|
|
1085
1086
|
close: F
|
|
1086
1087
|
})
|
|
1087
|
-
}),
|
|
1088
|
+
}), C = b(async () => {
|
|
1088
1089
|
var it, ot;
|
|
1089
1090
|
if (d.tipError)
|
|
1090
1091
|
return;
|
|
@@ -1129,7 +1130,7 @@ const Bt = (c, t) => {
|
|
|
1129
1130
|
getFormatParams: g,
|
|
1130
1131
|
rewriteMethodParams: p,
|
|
1131
1132
|
activePagePlugin: w,
|
|
1132
|
-
confirm:
|
|
1133
|
+
confirm: C,
|
|
1133
1134
|
openedDialog: A,
|
|
1134
1135
|
closeDialog: P,
|
|
1135
1136
|
string2Ast: H,
|
|
@@ -1139,7 +1140,7 @@ const Bt = (c, t) => {
|
|
|
1139
1140
|
useLayout: N,
|
|
1140
1141
|
getOptions: X,
|
|
1141
1142
|
getMetaApi: k,
|
|
1142
|
-
META_APP:
|
|
1143
|
+
META_APP: x,
|
|
1143
1144
|
MagicString: U,
|
|
1144
1145
|
meta: R,
|
|
1145
1146
|
dialogVisible: j,
|
|
@@ -1171,7 +1172,7 @@ const Bt = (c, t) => {
|
|
|
1171
1172
|
getFormatParams: g,
|
|
1172
1173
|
rewriteMethodParams: p,
|
|
1173
1174
|
activePagePlugin: w,
|
|
1174
|
-
confirm:
|
|
1175
|
+
confirm: C,
|
|
1175
1176
|
openedDialog: A,
|
|
1176
1177
|
closeDialog: P,
|
|
1177
1178
|
string2Ast: H,
|
|
@@ -1181,7 +1182,7 @@ const Bt = (c, t) => {
|
|
|
1181
1182
|
useLayout: N,
|
|
1182
1183
|
getOptions: X,
|
|
1183
1184
|
getMetaApi: k,
|
|
1184
|
-
META_APP:
|
|
1185
|
+
META_APP: x,
|
|
1185
1186
|
MagicString: U,
|
|
1186
1187
|
meta: R,
|
|
1187
1188
|
dialogVisible: j,
|
|
@@ -1212,7 +1213,7 @@ const Bt = (c, t) => {
|
|
|
1212
1213
|
getFormatParams: g,
|
|
1213
1214
|
rewriteMethodParams: p,
|
|
1214
1215
|
activePagePlugin: w,
|
|
1215
|
-
confirm:
|
|
1216
|
+
confirm: C,
|
|
1216
1217
|
openedDialog: A,
|
|
1217
1218
|
closeDialog: P,
|
|
1218
1219
|
string2Ast: H,
|
|
@@ -1222,7 +1223,7 @@ const Bt = (c, t) => {
|
|
|
1222
1223
|
useLayout: N,
|
|
1223
1224
|
getOptions: X,
|
|
1224
1225
|
getMetaApi: k,
|
|
1225
|
-
META_APP:
|
|
1226
|
+
META_APP: x,
|
|
1226
1227
|
MagicString: U,
|
|
1227
1228
|
meta: R,
|
|
1228
1229
|
dialogVisible: j,
|
|
@@ -1235,7 +1236,7 @@ const Bt = (c, t) => {
|
|
|
1235
1236
|
BindEventsDialogContent: n,
|
|
1236
1237
|
state: d,
|
|
1237
1238
|
dialogVisible: j,
|
|
1238
|
-
confirm:
|
|
1239
|
+
confirm: C,
|
|
1239
1240
|
closeDialog: P,
|
|
1240
1241
|
openedDialog: A,
|
|
1241
1242
|
selectMethod: f
|
|
@@ -1257,21 +1258,19 @@ function He(c, t, n, e, i, o) {
|
|
|
1257
1258
|
footer: I(() => [
|
|
1258
1259
|
m("div", Ke, [
|
|
1259
1260
|
_(r, { onClick: e.closeDialog }, {
|
|
1260
|
-
default: I(() => t[0] || (t[0] = [
|
|
1261
|
+
default: I(() => [...t[0] || (t[0] = [
|
|
1261
1262
|
Dt("取 消", -1)
|
|
1262
|
-
])),
|
|
1263
|
-
_: 1
|
|
1264
|
-
__: [0]
|
|
1263
|
+
])]),
|
|
1264
|
+
_: 1
|
|
1265
1265
|
}, 8, ["onClick"]),
|
|
1266
1266
|
_(r, {
|
|
1267
1267
|
type: "info",
|
|
1268
1268
|
onClick: e.confirm
|
|
1269
1269
|
}, {
|
|
1270
|
-
default: I(() => t[1] || (t[1] = [
|
|
1270
|
+
default: I(() => [...t[1] || (t[1] = [
|
|
1271
1271
|
Dt("确 定", -1)
|
|
1272
|
-
])),
|
|
1273
|
-
_: 1
|
|
1274
|
-
__: [1]
|
|
1272
|
+
])]),
|
|
1273
|
+
_: 1
|
|
1275
1274
|
}, 8, ["onClick"])
|
|
1276
1275
|
])
|
|
1277
1276
|
]),
|
|
@@ -1295,7 +1294,7 @@ function He(c, t, n, e, i, o) {
|
|
|
1295
1294
|
_: 1
|
|
1296
1295
|
}, 8, ["visible", "onClose", "onOpened"]);
|
|
1297
1296
|
}
|
|
1298
|
-
const
|
|
1297
|
+
const xt = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b97"]]), pe = {
|
|
1299
1298
|
onClick: {
|
|
1300
1299
|
label: {
|
|
1301
1300
|
zh_CN: "点击事件"
|
|
@@ -1474,21 +1473,19 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1474
1473
|
footer: I(() => [
|
|
1475
1474
|
m("div", qe, [
|
|
1476
1475
|
_(O(Ft), { onClick: O(a) }, {
|
|
1477
|
-
default: I(() => l[2] || (l[2] = [
|
|
1476
|
+
default: I(() => [...l[2] || (l[2] = [
|
|
1478
1477
|
Dt(" 取消", -1)
|
|
1479
|
-
])),
|
|
1480
|
-
_: 1
|
|
1481
|
-
__: [2]
|
|
1478
|
+
])]),
|
|
1479
|
+
_: 1
|
|
1482
1480
|
}, 8, ["onClick"]),
|
|
1483
1481
|
_(O(Ft), {
|
|
1484
1482
|
type: "primary",
|
|
1485
1483
|
onClick: O(d)
|
|
1486
1484
|
}, {
|
|
1487
|
-
default: I(() => l[3] || (l[3] = [
|
|
1485
|
+
default: I(() => [...l[3] || (l[3] = [
|
|
1488
1486
|
Dt(" 确定", -1)
|
|
1489
|
-
])),
|
|
1490
|
-
_: 1
|
|
1491
|
-
__: [3]
|
|
1487
|
+
])]),
|
|
1488
|
+
_: 1
|
|
1492
1489
|
}, 8, ["onClick"])
|
|
1493
1490
|
])
|
|
1494
1491
|
]),
|
|
@@ -1542,10 +1539,10 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1542
1539
|
}, kt = /* @__PURE__ */ Bt(Ge, [["__scopeId", "data-v-2ed7fac6"]]), We = {
|
|
1543
1540
|
components: {
|
|
1544
1541
|
BlockLinkEvent: wt,
|
|
1545
|
-
BindEventsDialog:
|
|
1546
|
-
TinyPopover:
|
|
1542
|
+
BindEventsDialog: xt,
|
|
1543
|
+
TinyPopover: Ce,
|
|
1547
1544
|
TinyButton: Ft,
|
|
1548
|
-
IconChevronDown:
|
|
1545
|
+
IconChevronDown: Ct(),
|
|
1549
1546
|
SvgButton: yt,
|
|
1550
1547
|
AddEventsDialog: kt
|
|
1551
1548
|
},
|
|
@@ -1566,7 +1563,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1566
1563
|
confirm: r
|
|
1567
1564
|
} = bt(), a = Et.global.locale.value, {
|
|
1568
1565
|
highlightMethod: d
|
|
1569
|
-
} = k(
|
|
1566
|
+
} = k(x.Page), {
|
|
1570
1567
|
commonEvents: f = {}
|
|
1571
1568
|
} = L("engine.setting.event").options, l = Ut({
|
|
1572
1569
|
eventName: "",
|
|
@@ -1634,7 +1631,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1634
1631
|
renderEventList: g,
|
|
1635
1632
|
openActionDialog: p,
|
|
1636
1633
|
deleteAction: w,
|
|
1637
|
-
delEvent:
|
|
1634
|
+
delEvent: C,
|
|
1638
1635
|
openCodePanel: A,
|
|
1639
1636
|
handleToggleAddEventDialog: P,
|
|
1640
1637
|
handleAddEvent: E,
|
|
@@ -1645,13 +1642,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1645
1642
|
useBlock: pt,
|
|
1646
1643
|
useMaterial: vt,
|
|
1647
1644
|
getMetaApi: k,
|
|
1648
|
-
META_APP:
|
|
1645
|
+
META_APP: x,
|
|
1649
1646
|
useMessage: _t,
|
|
1650
1647
|
i18n: Et,
|
|
1651
1648
|
BlockLinkEvent: wt,
|
|
1652
1649
|
SvgButton: yt,
|
|
1653
|
-
iconChevronDown:
|
|
1654
|
-
BindEventsDialog:
|
|
1650
|
+
iconChevronDown: Ct,
|
|
1651
|
+
BindEventsDialog: xt,
|
|
1655
1652
|
openDialog: V,
|
|
1656
1653
|
AddEventsDialog: kt
|
|
1657
1654
|
})
|
|
@@ -1685,7 +1682,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1685
1682
|
renderEventList: g,
|
|
1686
1683
|
openActionDialog: p,
|
|
1687
1684
|
deleteAction: w,
|
|
1688
|
-
delEvent:
|
|
1685
|
+
delEvent: C,
|
|
1689
1686
|
openCodePanel: A,
|
|
1690
1687
|
handleToggleAddEventDialog: P,
|
|
1691
1688
|
handleAddEvent: E,
|
|
@@ -1696,17 +1693,17 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1696
1693
|
useBlock: pt,
|
|
1697
1694
|
useMaterial: vt,
|
|
1698
1695
|
getMetaApi: k,
|
|
1699
|
-
META_APP:
|
|
1696
|
+
META_APP: x,
|
|
1700
1697
|
useMessage: _t,
|
|
1701
1698
|
i18n: Et,
|
|
1702
1699
|
BlockLinkEvent: wt,
|
|
1703
1700
|
SvgButton: yt,
|
|
1704
|
-
iconChevronDown:
|
|
1705
|
-
BindEventsDialog:
|
|
1701
|
+
iconChevronDown: Ct,
|
|
1702
|
+
BindEventsDialog: xt,
|
|
1706
1703
|
openDialog: V,
|
|
1707
1704
|
AddEventsDialog: kt
|
|
1708
1705
|
})
|
|
1709
|
-
}),
|
|
1706
|
+
}), C = b((v) => {
|
|
1710
1707
|
r({
|
|
1711
1708
|
title: "提示",
|
|
1712
1709
|
message: `您确定要删除事件 ${v.eventName} 吗?`,
|
|
@@ -1738,7 +1735,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1738
1735
|
renderEventList: g,
|
|
1739
1736
|
openActionDialog: p,
|
|
1740
1737
|
deleteAction: w,
|
|
1741
|
-
delEvent:
|
|
1738
|
+
delEvent: C,
|
|
1742
1739
|
openCodePanel: A,
|
|
1743
1740
|
handleToggleAddEventDialog: P,
|
|
1744
1741
|
handleAddEvent: E,
|
|
@@ -1749,13 +1746,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1749
1746
|
useBlock: pt,
|
|
1750
1747
|
useMaterial: vt,
|
|
1751
1748
|
getMetaApi: k,
|
|
1752
|
-
META_APP:
|
|
1749
|
+
META_APP: x,
|
|
1753
1750
|
useMessage: _t,
|
|
1754
1751
|
i18n: Et,
|
|
1755
1752
|
BlockLinkEvent: wt,
|
|
1756
1753
|
SvgButton: yt,
|
|
1757
|
-
iconChevronDown:
|
|
1758
|
-
BindEventsDialog:
|
|
1754
|
+
iconChevronDown: Ct,
|
|
1755
|
+
BindEventsDialog: xt,
|
|
1759
1756
|
openDialog: V,
|
|
1760
1757
|
AddEventsDialog: kt
|
|
1761
1758
|
})
|
|
@@ -1785,7 +1782,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1785
1782
|
renderEventList: g,
|
|
1786
1783
|
openActionDialog: p,
|
|
1787
1784
|
deleteAction: w,
|
|
1788
|
-
delEvent:
|
|
1785
|
+
delEvent: C,
|
|
1789
1786
|
openCodePanel: A,
|
|
1790
1787
|
handleToggleAddEventDialog: P,
|
|
1791
1788
|
handleAddEvent: E,
|
|
@@ -1796,13 +1793,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1796
1793
|
useBlock: pt,
|
|
1797
1794
|
useMaterial: vt,
|
|
1798
1795
|
getMetaApi: k,
|
|
1799
|
-
META_APP:
|
|
1796
|
+
META_APP: x,
|
|
1800
1797
|
useMessage: _t,
|
|
1801
1798
|
i18n: Et,
|
|
1802
1799
|
BlockLinkEvent: wt,
|
|
1803
1800
|
SvgButton: yt,
|
|
1804
|
-
iconChevronDown:
|
|
1805
|
-
BindEventsDialog:
|
|
1801
|
+
iconChevronDown: Ct,
|
|
1802
|
+
BindEventsDialog: xt,
|
|
1806
1803
|
openDialog: V,
|
|
1807
1804
|
AddEventsDialog: kt
|
|
1808
1805
|
})
|
|
@@ -1830,7 +1827,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1830
1827
|
renderEventList: g,
|
|
1831
1828
|
openActionDialog: p,
|
|
1832
1829
|
deleteAction: w,
|
|
1833
|
-
delEvent:
|
|
1830
|
+
delEvent: C,
|
|
1834
1831
|
openCodePanel: A,
|
|
1835
1832
|
handleToggleAddEventDialog: P,
|
|
1836
1833
|
handleAddEvent: E,
|
|
@@ -1841,13 +1838,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1841
1838
|
useBlock: pt,
|
|
1842
1839
|
useMaterial: vt,
|
|
1843
1840
|
getMetaApi: k,
|
|
1844
|
-
META_APP:
|
|
1841
|
+
META_APP: x,
|
|
1845
1842
|
useMessage: _t,
|
|
1846
1843
|
i18n: Et,
|
|
1847
1844
|
BlockLinkEvent: wt,
|
|
1848
1845
|
SvgButton: yt,
|
|
1849
|
-
iconChevronDown:
|
|
1850
|
-
BindEventsDialog:
|
|
1846
|
+
iconChevronDown: Ct,
|
|
1847
|
+
BindEventsDialog: xt,
|
|
1851
1848
|
openDialog: V,
|
|
1852
1849
|
AddEventsDialog: kt
|
|
1853
1850
|
})
|
|
@@ -1894,7 +1891,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1894
1891
|
renderEventList: g,
|
|
1895
1892
|
openActionDialog: p,
|
|
1896
1893
|
deleteAction: w,
|
|
1897
|
-
delEvent:
|
|
1894
|
+
delEvent: C,
|
|
1898
1895
|
openCodePanel: A,
|
|
1899
1896
|
handleToggleAddEventDialog: P,
|
|
1900
1897
|
handleAddEvent: E,
|
|
@@ -1905,13 +1902,13 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1905
1902
|
useBlock: pt,
|
|
1906
1903
|
useMaterial: vt,
|
|
1907
1904
|
getMetaApi: k,
|
|
1908
|
-
META_APP:
|
|
1905
|
+
META_APP: x,
|
|
1909
1906
|
useMessage: _t,
|
|
1910
1907
|
i18n: Et,
|
|
1911
1908
|
BlockLinkEvent: wt,
|
|
1912
1909
|
SvgButton: yt,
|
|
1913
|
-
iconChevronDown:
|
|
1914
|
-
BindEventsDialog:
|
|
1910
|
+
iconChevronDown: Ct,
|
|
1911
|
+
BindEventsDialog: xt,
|
|
1915
1912
|
openDialog: V,
|
|
1916
1913
|
AddEventsDialog: kt
|
|
1917
1914
|
})
|
|
@@ -1920,7 +1917,7 @@ const Ct = /* @__PURE__ */ Bt(Fe, [["render", He], ["__scopeId", "data-v-84897b9
|
|
|
1920
1917
|
state: l,
|
|
1921
1918
|
isBlock: u,
|
|
1922
1919
|
isEmpty: h,
|
|
1923
|
-
delEvent:
|
|
1920
|
+
delEvent: C,
|
|
1924
1921
|
openCodePanel: A,
|
|
1925
1922
|
openActionDialog: p,
|
|
1926
1923
|
handleAddEvent: E,
|
|
@@ -1949,8 +1946,7 @@ function dn(c, t, n, e, i, o) {
|
|
|
1949
1946
|
t[2] || (t[2] = m("span", null, "绑定事件", -1)),
|
|
1950
1947
|
_(s, { class: "icon-chevron-down bind-event-btn-icon" })
|
|
1951
1948
|
]),
|
|
1952
|
-
_: 1
|
|
1953
|
-
__: [2]
|
|
1949
|
+
_: 1
|
|
1954
1950
|
})
|
|
1955
1951
|
]),
|
|
1956
1952
|
default: I(() => [
|
|
@@ -1960,7 +1956,7 @@ function dn(c, t, n, e, i, o) {
|
|
|
1960
1956
|
return S(), J("li", {
|
|
1961
1957
|
key: p,
|
|
1962
1958
|
class: It(["bind-event-list-item", { "bind-event-list-item-notallow": e.state.bindActions[p] }]),
|
|
1963
|
-
onClick: (
|
|
1959
|
+
onClick: (C) => e.openActionDialog({ eventName: p }, !0)
|
|
1964
1960
|
}, [
|
|
1965
1961
|
m("div", null, W(p) + " | " + W(((w = g == null ? void 0 : g.label) == null ? void 0 : w[e.locale]) || p), 1)
|
|
1966
1962
|
], 10, tn);
|
|
@@ -1980,8 +1976,7 @@ function dn(c, t, n, e, i, o) {
|
|
|
1980
1976
|
}),
|
|
1981
1977
|
t[3] || (t[3] = m("span", { class: "custom-event-button-text" }, "添加新事件", -1))
|
|
1982
1978
|
]),
|
|
1983
|
-
_: 1
|
|
1984
|
-
__: [3]
|
|
1979
|
+
_: 1
|
|
1985
1980
|
})
|
|
1986
1981
|
]),
|
|
1987
1982
|
ee(m("ul", en, [
|
|
@@ -1993,7 +1988,7 @@ function dn(c, t, n, e, i, o) {
|
|
|
1993
1988
|
m("div", nn, [
|
|
1994
1989
|
m("div", {
|
|
1995
1990
|
class: "binding-name",
|
|
1996
|
-
onClick: (
|
|
1991
|
+
onClick: (C) => e.openActionDialog(g)
|
|
1997
1992
|
}, [
|
|
1998
1993
|
m("div", null, [
|
|
1999
1994
|
Dt(W(g.eventName), 1),
|
|
@@ -2014,17 +2009,17 @@ function dn(c, t, n, e, i, o) {
|
|
|
2014
2009
|
tips: "定位到代码",
|
|
2015
2010
|
placement: "top",
|
|
2016
2011
|
hoverBgColor: !1,
|
|
2017
|
-
onClick: (
|
|
2012
|
+
onClick: (C) => e.openCodePanel(g)
|
|
2018
2013
|
}, null, 8, ["onClick"]),
|
|
2019
2014
|
_(l, {
|
|
2020
2015
|
name: "setting",
|
|
2021
2016
|
hoverBgColor: !1,
|
|
2022
|
-
onClick: (
|
|
2017
|
+
onClick: (C) => e.openActionDialog(g, !1)
|
|
2023
2018
|
}, null, 8, ["onClick"]),
|
|
2024
2019
|
_(l, {
|
|
2025
2020
|
name: "delete",
|
|
2026
2021
|
hoverBgColor: !1,
|
|
2027
|
-
onClick: (
|
|
2022
|
+
onClick: (C) => e.delEvent(g)
|
|
2028
2023
|
}, null, 8, ["onClick"])
|
|
2029
2024
|
])
|
|
2030
2025
|
])
|
|
@@ -2063,7 +2058,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2063
2058
|
} = ut, hn = {
|
|
2064
2059
|
components: {
|
|
2065
2060
|
SwitchConfigurator: lt,
|
|
2066
|
-
TinyTooltip:
|
|
2061
|
+
TinyTooltip: xe,
|
|
2067
2062
|
VariableConfigurator: at,
|
|
2068
2063
|
InputConfigurator: rt,
|
|
2069
2064
|
CodeConfigurator: st
|
|
@@ -2125,7 +2120,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2125
2120
|
t.value = (l == null ? void 0 : l.condition) === void 0 ? !0 : l == null ? void 0 : l.condition, i.loopData = l == null ? void 0 : l.loop, i.loopItem = ((u = l == null ? void 0 : l.loopArgs) == null ? void 0 : u[0]) || "", i.loopIndex = ((h = l == null ? void 0 : l.loopArgs) == null ? void 0 : h[1]) || "", i.loopKey = ((p = (g = l == null ? void 0 : l.props) == null ? void 0 : g.key) == null ? void 0 : p.value) || "";
|
|
2126
2121
|
});
|
|
2127
2122
|
const o = b((l = "") => {
|
|
2128
|
-
var
|
|
2123
|
+
var C;
|
|
2129
2124
|
l = l.replace(/\s*/g, "");
|
|
2130
2125
|
const {
|
|
2131
2126
|
getSchema: u,
|
|
@@ -2134,7 +2129,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2134
2129
|
if (!g)
|
|
2135
2130
|
return;
|
|
2136
2131
|
const p = Number(l).toString() !== "NaN";
|
|
2137
|
-
let w = (
|
|
2132
|
+
let w = (C = g.props) == null ? void 0 : C.key;
|
|
2138
2133
|
l && !p && (w = {
|
|
2139
2134
|
type: G.JSEXPRESSION,
|
|
2140
2135
|
value: l
|
|
@@ -2226,13 +2221,13 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2226
2221
|
const {
|
|
2227
2222
|
condition: p,
|
|
2228
2223
|
children: w,
|
|
2229
|
-
...
|
|
2224
|
+
...C
|
|
2230
2225
|
} = h;
|
|
2231
2226
|
g({
|
|
2232
2227
|
type: "updateAttributes",
|
|
2233
2228
|
id: h.id,
|
|
2234
2229
|
value: {
|
|
2235
|
-
...
|
|
2230
|
+
...C
|
|
2236
2231
|
},
|
|
2237
2232
|
overwrite: !0
|
|
2238
2233
|
});
|
|
@@ -2327,7 +2322,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2327
2322
|
const {
|
|
2328
2323
|
loop: p,
|
|
2329
2324
|
loopArgs: w,
|
|
2330
|
-
children:
|
|
2325
|
+
children: C,
|
|
2331
2326
|
...A
|
|
2332
2327
|
} = g;
|
|
2333
2328
|
u({
|
|
@@ -2422,7 +2417,7 @@ const cn = /* @__PURE__ */ Bt(We, [["render", dn], ["__scopeId", "data-v-64f96b6
|
|
|
2422
2417
|
getIndexName: e
|
|
2423
2418
|
};
|
|
2424
2419
|
}
|
|
2425
|
-
}, un = { class: "advanced-config-container" }, gn = { class: "advnce-config" }, fn = { class: "advanced-config-form-item" }, mn = ["title"], pn = { class: "advnce-config loop-data-item" }, vn = { class: "advanced-config-form-item" }, bn = ["title"], _n = { class: "advnce-config" }, En = { class: "advanced-config-form-item" }, yn = { class: "advnce-config" }, wn = { class: "advanced-config-form-item" },
|
|
2420
|
+
}, un = { class: "advanced-config-container" }, gn = { class: "advnce-config" }, fn = { class: "advanced-config-form-item" }, mn = ["title"], pn = { class: "advnce-config loop-data-item" }, vn = { class: "advanced-config-form-item" }, bn = ["title"], _n = { class: "advnce-config" }, En = { class: "advanced-config-form-item" }, yn = { class: "advnce-config" }, wn = { class: "advanced-config-form-item" }, Cn = { class: "advnce-config" }, xn = { class: "advanced-config-form-item" };
|
|
2426
2421
|
function kn(c, t, n, e, i, o) {
|
|
2427
2422
|
var l, u;
|
|
2428
2423
|
const s = B("switch-configurator"), r = B("variable-configurator"), a = B("code-configurator"), d = B("input-configurator"), f = B("tiny-tooltip");
|
|
@@ -2502,9 +2497,9 @@ function kn(c, t, n, e, i, o) {
|
|
|
2502
2497
|
}, null, 8, ["modelValue", "placeholder", "onUpdate:modelValue"])
|
|
2503
2498
|
])
|
|
2504
2499
|
]),
|
|
2505
|
-
m("div",
|
|
2500
|
+
m("div", Cn, [
|
|
2506
2501
|
t[10] || (t[10] = m("label", { class: "text-ellipsis-multiple" }, "key", -1)),
|
|
2507
|
-
m("div",
|
|
2502
|
+
m("div", xn, [
|
|
2508
2503
|
_(f, {
|
|
2509
2504
|
content: "建议填写循环项中的唯一值(如item.id),如果填写为数字将不保存",
|
|
2510
2505
|
effect: "light"
|
|
@@ -2592,7 +2587,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2592
2587
|
setup() {
|
|
2593
2588
|
const {
|
|
2594
2589
|
getMethodNameList: c
|
|
2595
|
-
} = k(
|
|
2590
|
+
} = k(x.Page), t = ge("context"), n = {
|
|
2596
2591
|
language: "json",
|
|
2597
2592
|
lineNumbers: !1,
|
|
2598
2593
|
minimap: {
|
|
@@ -2615,7 +2610,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2615
2610
|
change: r,
|
|
2616
2611
|
VueMonaco: St,
|
|
2617
2612
|
getMetaApi: k,
|
|
2618
|
-
META_APP:
|
|
2613
|
+
META_APP: x,
|
|
2619
2614
|
METHOD_TIPS_MAP: ct,
|
|
2620
2615
|
NEW_METHOD_TYPE: Q,
|
|
2621
2616
|
VALID_VARNAME_RE: Nt
|
|
@@ -2635,7 +2630,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2635
2630
|
change: r,
|
|
2636
2631
|
VueMonaco: St,
|
|
2637
2632
|
getMetaApi: k,
|
|
2638
|
-
META_APP:
|
|
2633
|
+
META_APP: x,
|
|
2639
2634
|
METHOD_TIPS_MAP: ct,
|
|
2640
2635
|
NEW_METHOD_TYPE: Q,
|
|
2641
2636
|
VALID_VARNAME_RE: Nt
|
|
@@ -2655,7 +2650,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2655
2650
|
change: r,
|
|
2656
2651
|
VueMonaco: St,
|
|
2657
2652
|
getMetaApi: k,
|
|
2658
|
-
META_APP:
|
|
2653
|
+
META_APP: x,
|
|
2659
2654
|
METHOD_TIPS_MAP: ct,
|
|
2660
2655
|
NEW_METHOD_TYPE: Q,
|
|
2661
2656
|
VALID_VARNAME_RE: Nt
|
|
@@ -2675,7 +2670,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2675
2670
|
change: r,
|
|
2676
2671
|
VueMonaco: St,
|
|
2677
2672
|
getMetaApi: k,
|
|
2678
|
-
META_APP:
|
|
2673
|
+
META_APP: x,
|
|
2679
2674
|
METHOD_TIPS_MAP: ct,
|
|
2680
2675
|
NEW_METHOD_TYPE: Q,
|
|
2681
2676
|
VALID_VARNAME_RE: Nt
|
|
@@ -2714,7 +2709,7 @@ const Dn = /* @__PURE__ */ Bt(hn, [["render", kn], ["__scopeId", "data-v-275ffc6
|
|
|
2714
2709
|
change: r,
|
|
2715
2710
|
VueMonaco: St,
|
|
2716
2711
|
getMetaApi: k,
|
|
2717
|
-
META_APP:
|
|
2712
|
+
META_APP: x,
|
|
2718
2713
|
METHOD_TIPS_MAP: ct,
|
|
2719
2714
|
NEW_METHOD_TYPE: Q,
|
|
2720
2715
|
VALID_VARNAME_RE: Nt
|
|
@@ -2763,11 +2758,10 @@ function On(c, t, n, e, i, o) {
|
|
|
2763
2758
|
"onUpdate:modelValue": t[1] || (t[1] = (d) => e.context.enableExtraParams = d),
|
|
2764
2759
|
name: "tiny-checkbox"
|
|
2765
2760
|
}, {
|
|
2766
|
-
default: I(() => t[3] || (t[3] = [
|
|
2761
|
+
default: I(() => [...t[3] || (t[3] = [
|
|
2767
2762
|
Dt("扩展参数设置", -1)
|
|
2768
|
-
])),
|
|
2769
|
-
_: 1
|
|
2770
|
-
__: [3]
|
|
2763
|
+
])]),
|
|
2764
|
+
_: 1
|
|
2771
2765
|
}, 8, ["modelValue"]),
|
|
2772
2766
|
m("div", Bn, [
|
|
2773
2767
|
t[4] || (t[4] = m("div", null, "扩展参数:调用当前事件传入的真实参数,数组格式,追加在原有事件参数之后", -1)),
|
|
@@ -2801,7 +2795,7 @@ const Tn = /* @__PURE__ */ Bt(An, [["render", On], ["__scopeId", "data-v-fc0b367
|
|
|
2801
2795
|
setup(c) {
|
|
2802
2796
|
const {
|
|
2803
2797
|
getMethodNameList: t
|
|
2804
|
-
} = k(
|
|
2798
|
+
} = k(x.Page), n = Lt(""), e = Lt([]), i = ge("context"), o = b((r, a) => {
|
|
2805
2799
|
const d = r.map((u) => {
|
|
2806
2800
|
var h;
|
|
2807
2801
|
return Number.parseInt((h = u.match(/\d+$/)) == null ? void 0 : h[0]) || 0;
|
|
@@ -2821,7 +2815,7 @@ const Tn = /* @__PURE__ */ Bt(An, [["render", On], ["__scopeId", "data-v-fc0b367
|
|
|
2821
2815
|
generateMethodName: o,
|
|
2822
2816
|
selectMethod: s,
|
|
2823
2817
|
getMetaApi: k,
|
|
2824
|
-
META_APP:
|
|
2818
|
+
META_APP: x,
|
|
2825
2819
|
INVALID_VARNAME_CHAR_RE: Kt,
|
|
2826
2820
|
NEW_METHOD_TYPE: Q
|
|
2827
2821
|
})
|
|
@@ -2840,7 +2834,7 @@ const Tn = /* @__PURE__ */ Bt(An, [["render", On], ["__scopeId", "data-v-fc0b367
|
|
|
2840
2834
|
generateMethodName: o,
|
|
2841
2835
|
selectMethod: s,
|
|
2842
2836
|
getMetaApi: k,
|
|
2843
|
-
META_APP:
|
|
2837
|
+
META_APP: x,
|
|
2844
2838
|
INVALID_VARNAME_CHAR_RE: Kt,
|
|
2845
2839
|
NEW_METHOD_TYPE: Q
|
|
2846
2840
|
})
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../meta.js","../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.4/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/dist/magic-string.es.mjs","../src/components/constants.ts","../index.ts"],"sourcesContent":["export default {\n id: 'engine.setting.event',\n title: '高级',\n type: 'plugins',\n name: 'event',\n icon: 'target'\n}\n","// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -2147483648 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0\n );\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0\n );\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n","export const NEW_METHOD_TYPE = 'newMethod'\nexport const INVALID_VARNAME_CHAR_RE = /[^0-9a-zA-Z_$]/\nexport const VALID_VARNAME_RE = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/\n\nexport const METHOD_TIPS_MAP = {\n default: '选择已有方法或者添加新方法(点击 确定 之后将在JS面板中创建一个该名称的新方法)',\n exist: '方法名称已存在',\n ruleInvalid: '请输入有效的方法名,可以由字母、数字、下划线、$ 符号组成,不能以数字开头',\n empty: '方法名称不能为空'\n}\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport { commonEvents } from './src/commonjs/events.ts'\nimport BindEventsDialogContent from './src/components/BindEventsDialogContent.vue'\nimport BindEventsDialogSidebar from './src/components/BindEventsDialogSidebar.vue'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry,\n options: { commonEvents },\n components: {\n BindEventsDialogSidebar,\n BindEventsDialogContent\n }\n}\n"],"names":["metaData","comma","semicolon","chars","intToChar","charToInt","i","c","encodeInteger","builder","num","relative","delta","clamped","bufLength","td","buf","out","StringWriter","v","buffer","pos","encode","decoded","writer","sourcesIndex","sourceLine","sourceColumn","namesIndex","line","genColumn","j","segment","BitSet","arg","n","Chunk","start","end","content","chunk","index","fn","storeName","contentOnly","sliceIndex","originalBefore","originalAfter","newChunk","rx","trimmed","getBtoa","str","btoa","SourceMap","properties","guessIndent","code","lines","tabbed","spaced","min","previous","current","numSpaces","getRelativePath","from","to","fromParts","toParts","toString","isObject","thing","getLocator","source","originalLines","lineOffsets","m","column","wordRegex","Mappings","hires","sourceIndex","loc","nameIndex","contentLengthMinusOne","contentLineEnd","previousContentLineEnd","original","sourcemapLocations","originalCharIndex","first","charInHiresBoundary","warned","MagicString","string","options","char","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","names","mappings","locate","indentStr","pattern","isExcluded","exclusion","shouldIndentNextCharacter","replacer","match","charIndex","last","oldLeft","oldRight","newRight","newLeft","overwrite","lineIndex","lineStr","result","startChunk","containsEnd","sliceStart","sliceEnd","clone","searchForward","length","charType","aborted","searchValue","replacement","getReplacement","_","matchAll","re","matches","stringLength","NEW_METHOD_TYPE","INVALID_VARNAME_CHAR_RE","VALID_VARNAME_RE","METHOD_TIPS_MAP","entry","commonEvents","BindEventsDialogSidebar","BindEventsDialogContent"],"mappings":"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","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../meta.js","../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../../node_modules/.pnpm/magic-string@0.30.18/node_modules/magic-string/dist/magic-string.es.mjs","../src/components/constants.ts","../index.ts"],"sourcesContent":["export default {\n id: 'engine.setting.event',\n title: '高级',\n type: 'plugins',\n name: 'event',\n icon: 'target'\n}\n","// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -2147483648 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0\n );\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0\n );\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement) this.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n","export const NEW_METHOD_TYPE = 'newMethod'\nexport const INVALID_VARNAME_CHAR_RE = /[^0-9a-zA-Z_$]/\nexport const VALID_VARNAME_RE = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/\n\nexport const METHOD_TIPS_MAP = {\n default: '选择已有方法或者添加新方法(点击 确定 之后将在JS面板中创建一个该名称的新方法)',\n exist: '方法名称已存在',\n ruleInvalid: '请输入有效的方法名,可以由字母、数字、下划线、$ 符号组成,不能以数字开头',\n empty: '方法名称不能为空'\n}\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport { commonEvents } from './src/commonjs/events.ts'\nimport BindEventsDialogContent from './src/components/BindEventsDialogContent.vue'\nimport BindEventsDialogSidebar from './src/components/BindEventsDialogSidebar.vue'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry,\n options: { commonEvents },\n components: {\n BindEventsDialogSidebar,\n BindEventsDialogContent\n }\n}\n"],"names":["metaData","comma","semicolon","chars","intToChar","charToInt","i","c","encodeInteger","builder","num","relative","delta","clamped","bufLength","td","buf","out","StringWriter","v","buffer","pos","encode","decoded","writer","sourcesIndex","sourceLine","sourceColumn","namesIndex","line","genColumn","j","segment","BitSet","arg","n","Chunk","start","end","content","chunk","index","fn","storeName","contentOnly","sliceIndex","originalBefore","originalAfter","newChunk","rx","trimmed","getBtoa","str","btoa","SourceMap","properties","guessIndent","code","lines","tabbed","spaced","min","previous","current","numSpaces","getRelativePath","from","to","fromParts","toParts","toString","isObject","thing","getLocator","source","originalLines","lineOffsets","m","column","wordRegex","Mappings","hires","sourceIndex","loc","nameIndex","contentLengthMinusOne","contentLineEnd","previousContentLineEnd","original","sourcemapLocations","originalCharIndex","first","charInHiresBoundary","warned","MagicString","string","options","char","cloned","originalChunk","clonedChunk","nextOriginalChunk","nextClonedChunk","names","mappings","locate","indentStr","pattern","isExcluded","exclusion","shouldIndentNextCharacter","replacer","match","charIndex","last","oldLeft","oldRight","newRight","newLeft","overwrite","lineIndex","lineStr","result","startChunk","containsEnd","sliceStart","sliceEnd","clone","previousChunk","searchForward","length","charType","aborted","searchValue","replacement","getReplacement","_","matchAll","re","matches","stringLength","NEW_METHOD_TYPE","INVALID_VARNAME_CHAR_RE","VALID_VARNAME_RE","METHOD_TIPS_MAP","entry","commonEvents","BindEventsDialogSidebar","BindEventsDialogContent"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentiny/tiny-engine-setting-events",
|
|
3
|
-
"version": "2.8.0
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"homepage": "https://opentiny.design/tiny-engine",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@opentiny/tiny-engine-common": "2.8.0
|
|
29
|
-
"@opentiny/tiny-engine-configurator": "2.8.0
|
|
30
|
-
"@opentiny/tiny-engine-meta-register": "2.8.0
|
|
31
|
-
"@opentiny/tiny-engine-utils": "2.8.0
|
|
28
|
+
"@opentiny/tiny-engine-common": "2.8.0",
|
|
29
|
+
"@opentiny/tiny-engine-configurator": "2.8.0",
|
|
30
|
+
"@opentiny/tiny-engine-meta-register": "2.8.0",
|
|
31
|
+
"@opentiny/tiny-engine-utils": "2.8.0",
|
|
32
32
|
"magic-string": "^0.30.17"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@opentiny/tiny-engine-vite-plugin-meta-comments": "2.8.0
|
|
35
|
+
"@opentiny/tiny-engine-vite-plugin-meta-comments": "2.8.0",
|
|
36
36
|
"@vitejs/plugin-vue": "^5.1.2",
|
|
37
37
|
"@vitejs/plugin-vue-jsx": "^4.0.1",
|
|
38
38
|
"vite": "^5.4.2"
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"@opentiny/vue-icon": "^3.20.0",
|
|
43
43
|
"vue": "^3.4.15"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "e62142ad9a47584197a434a2321542677c378eb5"
|
|
46
46
|
}
|