@carbon/charts-react 1.23.16 → 1.24.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.mjs +158 -153
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.cjs +14 -14
- package/dist/index.umd.cjs.map +1 -1
- package/dist/index.umd.js +14 -14
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -13093,7 +13093,7 @@ class HL extends mt {
|
|
|
13093
13093
|
let c = 0;
|
|
13094
13094
|
const u = this.model.get("axesMargins");
|
|
13095
13095
|
u && u.left && (c = u.left);
|
|
13096
|
-
const d = N.appendOrSelect(n, "svg.zoom-container").attr("width", "100%").attr("height", o).attr("opacity", 1);
|
|
13096
|
+
const d = N.appendOrSelect(n, "svg.zoom-container").attr("width", "100%").attr("height", o).attr("opacity", 1).attr("role", "presentation");
|
|
13097
13097
|
if (N.appendOrSelect(n, "rect.zoom-spacer").attr("x", 0).attr("y", o).attr("width", "100%").attr("height", ye.spacerHeight).attr("opacity", 1).attr("fill", "none"), s === Ke.GRAPH_VIEW ? N.appendOrSelect(d, "rect.zoom-bg").attr("x", c).attr("y", 0).attr("width", l - c).attr("height", "100%").classed("zoom-bg-skeleton", r).style(
|
|
13098
13098
|
"stroke",
|
|
13099
13099
|
r ? `url(#${this.services.domUtils.generateElementIDString("shimmer-lines")})` : null
|
|
@@ -14504,8 +14504,8 @@ class Vn extends mt {
|
|
|
14504
14504
|
// @ts-ignore
|
|
14505
14505
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14506
14506
|
render(t = !1) {
|
|
14507
|
-
const n = y(this.getOptions(), "ruler", "enabled");
|
|
14508
|
-
this.drawBackdrop(),
|
|
14507
|
+
const n = y(this.getOptions(), "ruler", "enabled"), r = y(this.getOptions(), "tooltip", "alwaysShowRulerTooltip"), i = n || r;
|
|
14508
|
+
this.drawBackdrop(), i && !this.isEventListenerAdded ? this.addBackdropEventListeners() : !i && this.isEventListenerAdded && this.removeBackdropEventListeners();
|
|
14509
14509
|
}
|
|
14510
14510
|
removeBackdropEventListeners() {
|
|
14511
14511
|
this.isEventListenerAdded = !1, this.backdrop.on("mousemove mouseover mouseout", null);
|
|
@@ -14734,62 +14734,63 @@ let nn = class extends mt {
|
|
|
14734
14734
|
return null;
|
|
14735
14735
|
}
|
|
14736
14736
|
addEventListeners() {
|
|
14737
|
-
const t = this, { groupMapsTo: n } = t.getOptions().data;
|
|
14737
|
+
const t = this, { groupMapsTo: n } = t.getOptions().data, r = y(this.getOptions(), "tooltip", "alwaysShowRulerTooltip");
|
|
14738
14738
|
if (!this.parent) throw new Error("Parent not defined");
|
|
14739
|
-
this.parent.selectAll("circle")
|
|
14740
|
-
|
|
14741
|
-
|
|
14739
|
+
const i = this.parent.selectAll("circle");
|
|
14740
|
+
r ? i.style("pointer-events", "none") : i.style("pointer-events", null), i.on("mouseover", function(s, a) {
|
|
14741
|
+
const o = I(this);
|
|
14742
|
+
o.classed("hovered", !0).attr(
|
|
14742
14743
|
"class",
|
|
14743
|
-
(
|
|
14744
|
+
(l) => t.model.getColorClassName({
|
|
14744
14745
|
classNameTypes: [it.FILL],
|
|
14745
|
-
dataGroupName:
|
|
14746
|
-
originalClassName:
|
|
14746
|
+
dataGroupName: l[n],
|
|
14747
|
+
originalClassName: o.attr("class")
|
|
14747
14748
|
})
|
|
14748
|
-
).style("fill", (
|
|
14749
|
-
const
|
|
14750
|
-
return t.model.getFillColor(
|
|
14751
|
-
}).classed("unfilled", !1), t.services.events?.dispatchEvent(T.Tooltip.SHOW, {
|
|
14752
|
-
event:
|
|
14753
|
-
hoveredElement:
|
|
14754
|
-
data: [
|
|
14755
|
-
additionalItems: t.getTooltipAdditionalItems(
|
|
14749
|
+
).style("fill", (l) => {
|
|
14750
|
+
const c = t.services.cartesianScales?.getDomainIdentifier(l);
|
|
14751
|
+
return t.model.getFillColor(l[n], l[c], l);
|
|
14752
|
+
}).classed("unfilled", !1), r || t.services.events?.dispatchEvent(T.Tooltip.SHOW, {
|
|
14753
|
+
event: s,
|
|
14754
|
+
hoveredElement: o,
|
|
14755
|
+
data: [a],
|
|
14756
|
+
additionalItems: t.getTooltipAdditionalItems(a)
|
|
14756
14757
|
}), t.services.events?.dispatchEvent(T.Scatter.SCATTER_MOUSEOVER, {
|
|
14757
|
-
event:
|
|
14758
|
-
element:
|
|
14759
|
-
datum:
|
|
14758
|
+
event: s,
|
|
14759
|
+
element: o,
|
|
14760
|
+
datum: a
|
|
14760
14761
|
});
|
|
14761
|
-
}).on("mousemove", function(
|
|
14762
|
-
const
|
|
14762
|
+
}).on("mousemove", function(s, a) {
|
|
14763
|
+
const o = I(this);
|
|
14763
14764
|
t.services.events?.dispatchEvent(T.Scatter.SCATTER_MOUSEMOVE, {
|
|
14764
|
-
event:
|
|
14765
|
-
element:
|
|
14766
|
-
datum:
|
|
14765
|
+
event: s,
|
|
14766
|
+
element: o,
|
|
14767
|
+
datum: a
|
|
14767
14768
|
}), t.services.events?.dispatchEvent(T.Tooltip.MOVE, {
|
|
14768
|
-
event:
|
|
14769
|
+
event: s
|
|
14769
14770
|
});
|
|
14770
|
-
}).on("click", function(
|
|
14771
|
+
}).on("click", function(s, a) {
|
|
14771
14772
|
t.services.events?.dispatchEvent(T.Scatter.SCATTER_CLICK, {
|
|
14772
|
-
event:
|
|
14773
|
+
event: s,
|
|
14773
14774
|
element: I(this),
|
|
14774
|
-
datum:
|
|
14775
|
+
datum: a
|
|
14775
14776
|
});
|
|
14776
|
-
}).on("mouseout", function(
|
|
14777
|
-
const
|
|
14778
|
-
if (
|
|
14779
|
-
const { filled:
|
|
14780
|
-
|
|
14781
|
-
|
|
14782
|
-
|
|
14783
|
-
|
|
14777
|
+
}).on("mouseout", function(s, a) {
|
|
14778
|
+
const o = I(this);
|
|
14779
|
+
if (o.classed("hovered", !1), !t.configs.filled) {
|
|
14780
|
+
const { filled: l } = t.getOptions().points, c = t.services.cartesianScales?.getDomainIdentifier(a), u = t.model.getIsFilled(
|
|
14781
|
+
a[n],
|
|
14782
|
+
a[c],
|
|
14783
|
+
a,
|
|
14784
|
+
l
|
|
14784
14785
|
);
|
|
14785
|
-
|
|
14786
|
+
o.classed("unfilled", !u).style("fill", (d) => u || l ? t.model.getFillColor(d[n], d[c], d) : null);
|
|
14786
14787
|
}
|
|
14787
14788
|
t.services.events?.dispatchEvent(T.Scatter.SCATTER_MOUSEOUT, {
|
|
14788
|
-
event:
|
|
14789
|
-
element:
|
|
14790
|
-
datum:
|
|
14789
|
+
event: s,
|
|
14790
|
+
element: o,
|
|
14791
|
+
datum: a
|
|
14791
14792
|
}), t.services.events?.dispatchEvent(T.Tooltip.HIDE, {
|
|
14792
|
-
hoveredElement:
|
|
14793
|
+
hoveredElement: o
|
|
14793
14794
|
});
|
|
14794
14795
|
});
|
|
14795
14796
|
}
|
|
@@ -17004,41 +17005,41 @@ class wv extends uu {
|
|
|
17004
17005
|
}).attr("opacity", 1).attr("role", ht.GRAPHICS_SYMBOL).attr("aria-roledescription", "bar").attr("aria-label", (u) => u.value), this.addEventListeners();
|
|
17005
17006
|
}
|
|
17006
17007
|
addEventListeners() {
|
|
17007
|
-
const t = this;
|
|
17008
|
-
|
|
17009
|
-
const
|
|
17010
|
-
|
|
17011
|
-
event:
|
|
17012
|
-
element:
|
|
17013
|
-
datum:
|
|
17014
|
-
}), t.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
17015
|
-
event:
|
|
17016
|
-
hoveredElement:
|
|
17017
|
-
data: [
|
|
17008
|
+
const t = this, n = y(this.getOptions(), "tooltip", "alwaysShowRulerTooltip"), r = this.parent.selectAll("path.bar");
|
|
17009
|
+
n ? r.style("pointer-events", "none") : r.style("pointer-events", null), r.on("mouseover", function(i, s) {
|
|
17010
|
+
const a = I(this);
|
|
17011
|
+
a.classed("hovered", !0), t.services.events.dispatchEvent(T.Bar.BAR_MOUSEOVER, {
|
|
17012
|
+
event: i,
|
|
17013
|
+
element: a,
|
|
17014
|
+
datum: s
|
|
17015
|
+
}), n || t.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
17016
|
+
event: i,
|
|
17017
|
+
hoveredElement: a,
|
|
17018
|
+
data: [s]
|
|
17018
17019
|
});
|
|
17019
|
-
}).on("mousemove", function(
|
|
17020
|
-
const
|
|
17020
|
+
}).on("mousemove", function(i, s) {
|
|
17021
|
+
const a = I(this);
|
|
17021
17022
|
t.services.events.dispatchEvent(T.Bar.BAR_MOUSEMOVE, {
|
|
17022
|
-
event:
|
|
17023
|
-
element:
|
|
17024
|
-
datum:
|
|
17023
|
+
event: i,
|
|
17024
|
+
element: a,
|
|
17025
|
+
datum: s
|
|
17025
17026
|
}), t.services.events.dispatchEvent(T.Tooltip.MOVE, {
|
|
17026
|
-
event:
|
|
17027
|
+
event: i
|
|
17027
17028
|
});
|
|
17028
|
-
}).on("click", function(
|
|
17029
|
+
}).on("click", function(i, s) {
|
|
17029
17030
|
t.services.events.dispatchEvent(T.Bar.BAR_CLICK, {
|
|
17030
|
-
event:
|
|
17031
|
+
event: i,
|
|
17031
17032
|
element: I(this),
|
|
17032
|
-
datum:
|
|
17033
|
+
datum: s
|
|
17033
17034
|
});
|
|
17034
|
-
}).on("mouseout", function(
|
|
17035
|
-
const
|
|
17036
|
-
|
|
17037
|
-
event:
|
|
17038
|
-
element:
|
|
17039
|
-
datum:
|
|
17035
|
+
}).on("mouseout", function(i, s) {
|
|
17036
|
+
const a = I(this);
|
|
17037
|
+
a.classed("hovered", !1), t.services.events.dispatchEvent(T.Bar.BAR_MOUSEOUT, {
|
|
17038
|
+
event: i,
|
|
17039
|
+
element: a,
|
|
17040
|
+
datum: s
|
|
17040
17041
|
}), t.services.events.dispatchEvent(T.Tooltip.HIDE, {
|
|
17041
|
-
hoveredElement:
|
|
17042
|
+
hoveredElement: a
|
|
17042
17043
|
});
|
|
17043
17044
|
});
|
|
17044
17045
|
}
|
|
@@ -17323,39 +17324,41 @@ class ND extends mt {
|
|
|
17323
17324
|
}).attr("opacity", 1).attr("role", ht.GRAPHICS_SYMBOL).attr("aria-roledescription", "bar").attr("aria-label", (u) => y(u, "data", u[s])), this.addEventListeners();
|
|
17324
17325
|
}
|
|
17325
17326
|
addEventListeners() {
|
|
17326
|
-
const t = this.model.getOptions(), { groupMapsTo: n } = t.data, { code: r, number: i } = y(t, "locale"), s = this;
|
|
17327
|
-
|
|
17328
|
-
|
|
17329
|
-
|
|
17330
|
-
const
|
|
17331
|
-
|
|
17332
|
-
|
|
17333
|
-
|
|
17327
|
+
const t = this.model.getOptions(), { groupMapsTo: n } = t.data, { code: r, number: i } = y(t, "locale"), s = y(t, "tooltip", "alwaysShowRulerTooltip"), a = this.parent.selectAll("path.bar");
|
|
17328
|
+
s ? a.style("pointer-events", "none") : a.style("pointer-events", null);
|
|
17329
|
+
const o = this;
|
|
17330
|
+
a.on("mouseover", function(l, c) {
|
|
17331
|
+
const u = I(this);
|
|
17332
|
+
u.classed("hovered", !0);
|
|
17333
|
+
const d = i(parseFloat(gt(c, "data.x0")), r), h = i(parseFloat(gt(c, "data.x1")), r), p = o.services.cartesianScales.getRangeAxisPosition(), f = o.services.cartesianScales.getScaleLabel(p);
|
|
17334
|
+
s || o.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
17335
|
+
event: l,
|
|
17336
|
+
hoveredElement: u,
|
|
17334
17337
|
items: [
|
|
17335
17338
|
{
|
|
17336
17339
|
label: gt(t, "bins.rangeLabel") || "Range",
|
|
17337
|
-
value: `${
|
|
17340
|
+
value: `${d} – ${h}`
|
|
17338
17341
|
},
|
|
17339
17342
|
{
|
|
17340
17343
|
label: t.tooltip.groupLabel || "Group",
|
|
17341
|
-
value:
|
|
17342
|
-
class:
|
|
17344
|
+
value: c[n],
|
|
17345
|
+
class: o.model.getColorClassName({
|
|
17343
17346
|
classNameTypes: [it.TOOLTIP],
|
|
17344
|
-
dataGroupName:
|
|
17347
|
+
dataGroupName: c[n]
|
|
17345
17348
|
})
|
|
17346
17349
|
},
|
|
17347
17350
|
{
|
|
17348
|
-
label:
|
|
17349
|
-
value: gt(
|
|
17351
|
+
label: f,
|
|
17352
|
+
value: gt(c, `data.${c[n]}`)
|
|
17350
17353
|
}
|
|
17351
17354
|
]
|
|
17352
17355
|
});
|
|
17353
|
-
}).on("mousemove", function(
|
|
17354
|
-
|
|
17355
|
-
event:
|
|
17356
|
+
}).on("mousemove", function(l) {
|
|
17357
|
+
o.services.events.dispatchEvent(T.Tooltip.MOVE, {
|
|
17358
|
+
event: l
|
|
17356
17359
|
});
|
|
17357
17360
|
}).on("mouseout", function() {
|
|
17358
|
-
I(this).classed("hovered", !1),
|
|
17361
|
+
I(this).classed("hovered", !1), o.services.events.dispatchEvent(T.Tooltip.HIDE);
|
|
17359
17362
|
});
|
|
17360
17363
|
}
|
|
17361
17364
|
destroy() {
|
|
@@ -17947,40 +17950,40 @@ class $v extends uu {
|
|
|
17947
17950
|
}).attr("opacity", 1).attr("role", ht.GRAPHICS_SYMBOL).attr("aria-roledescription", "bar").attr("aria-label", (l) => l.value), this.addEventListeners();
|
|
17948
17951
|
}
|
|
17949
17952
|
addEventListeners() {
|
|
17950
|
-
const t = this;
|
|
17951
|
-
|
|
17952
|
-
const
|
|
17953
|
-
|
|
17954
|
-
event:
|
|
17955
|
-
element:
|
|
17956
|
-
datum:
|
|
17957
|
-
}), t.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
17958
|
-
event:
|
|
17959
|
-
hoveredElement:
|
|
17960
|
-
data: [
|
|
17953
|
+
const t = this, n = y(this.getOptions(), "tooltip", "alwaysShowRulerTooltip"), r = this.parent.selectAll("path.bar");
|
|
17954
|
+
n ? r.style("pointer-events", "none") : r.style("pointer-events", null), r.on("mouseover", function(i, s) {
|
|
17955
|
+
const a = I(this);
|
|
17956
|
+
a.classed("hovered", !0), t.services.events.dispatchEvent(T.Bar.BAR_MOUSEOVER, {
|
|
17957
|
+
event: i,
|
|
17958
|
+
element: a,
|
|
17959
|
+
datum: s
|
|
17960
|
+
}), n || t.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
17961
|
+
event: i,
|
|
17962
|
+
hoveredElement: a,
|
|
17963
|
+
data: [s]
|
|
17961
17964
|
});
|
|
17962
|
-
}).on("mousemove", function(
|
|
17965
|
+
}).on("mousemove", function(i, s) {
|
|
17963
17966
|
t.services.events.dispatchEvent(T.Bar.BAR_MOUSEMOVE, {
|
|
17964
|
-
event:
|
|
17967
|
+
event: i,
|
|
17965
17968
|
element: I(this),
|
|
17966
|
-
datum:
|
|
17969
|
+
datum: s
|
|
17967
17970
|
}), t.services.events.dispatchEvent(T.Tooltip.MOVE, {
|
|
17968
|
-
event:
|
|
17971
|
+
event: i
|
|
17969
17972
|
});
|
|
17970
|
-
}).on("click", function(
|
|
17973
|
+
}).on("click", function(i, s) {
|
|
17971
17974
|
t.services.events.dispatchEvent(T.Bar.BAR_CLICK, {
|
|
17972
|
-
event:
|
|
17975
|
+
event: i,
|
|
17973
17976
|
element: I(this),
|
|
17974
|
-
datum:
|
|
17977
|
+
datum: s
|
|
17975
17978
|
});
|
|
17976
|
-
}).on("mouseout", function(
|
|
17977
|
-
const
|
|
17978
|
-
|
|
17979
|
-
event:
|
|
17980
|
-
element:
|
|
17981
|
-
datum:
|
|
17979
|
+
}).on("mouseout", function(i, s) {
|
|
17980
|
+
const a = I(this);
|
|
17981
|
+
a.classed("hovered", !1), t.services.events.dispatchEvent(T.Bar.BAR_MOUSEOUT, {
|
|
17982
|
+
event: i,
|
|
17983
|
+
element: a,
|
|
17984
|
+
datum: s
|
|
17982
17985
|
}), t.services.events.dispatchEvent(T.Tooltip.HIDE, {
|
|
17983
|
-
hoveredElement:
|
|
17986
|
+
hoveredElement: a
|
|
17984
17987
|
});
|
|
17985
17988
|
});
|
|
17986
17989
|
}
|
|
@@ -18136,54 +18139,56 @@ class Cv extends uu {
|
|
|
18136
18139
|
}).attr("opacity", 1).attr("role", ht.GRAPHICS_SYMBOL).attr("aria-roledescription", "bar").attr("aria-label", (c) => c[1] - c[0]), this.addEventListeners();
|
|
18137
18140
|
}
|
|
18138
18141
|
addEventListeners() {
|
|
18139
|
-
const t = this.getOptions(), { groupMapsTo: n } = t.data, r = this;
|
|
18140
|
-
|
|
18141
|
-
|
|
18142
|
-
|
|
18143
|
-
|
|
18144
|
-
|
|
18145
|
-
|
|
18142
|
+
const t = this.getOptions(), { groupMapsTo: n } = t.data, r = y(t, "tooltip", "alwaysShowRulerTooltip"), i = this.parent.selectAll("path.bar");
|
|
18143
|
+
r ? i.style("pointer-events", "none") : i.style("pointer-events", null);
|
|
18144
|
+
const s = this;
|
|
18145
|
+
i.on("mouseover", function(a, o) {
|
|
18146
|
+
const l = I(this);
|
|
18147
|
+
l.classed("hovered", !0), s.services.events.dispatchEvent(T.Bar.BAR_MOUSEOVER, {
|
|
18148
|
+
event: a,
|
|
18149
|
+
element: l,
|
|
18150
|
+
datum: o
|
|
18146
18151
|
});
|
|
18147
|
-
let
|
|
18148
|
-
const
|
|
18149
|
-
return
|
|
18152
|
+
let c = s.model.getDisplayData(s.configs.groups).find((u) => {
|
|
18153
|
+
const d = s.services.cartesianScales.getDomainIdentifier(u), h = s.services.cartesianScales.getRangeIdentifier(u);
|
|
18154
|
+
return u[h] === o.data[o[n]] && u[d].toString() === o.data.sharedStackKey && u[n] === o[n];
|
|
18150
18155
|
});
|
|
18151
|
-
if (
|
|
18152
|
-
const
|
|
18153
|
-
|
|
18154
|
-
[
|
|
18155
|
-
[
|
|
18156
|
-
[n]:
|
|
18156
|
+
if (c === void 0) {
|
|
18157
|
+
const u = s.services.cartesianScales.getDomainIdentifier(), d = s.services.cartesianScales.getRangeIdentifier();
|
|
18158
|
+
c = {
|
|
18159
|
+
[u]: o.data.sharedStackKey,
|
|
18160
|
+
[d]: o.data[o[n]],
|
|
18161
|
+
[n]: o[n]
|
|
18157
18162
|
};
|
|
18158
18163
|
}
|
|
18159
|
-
r.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
18160
|
-
event:
|
|
18161
|
-
hoveredElement:
|
|
18162
|
-
data: [
|
|
18164
|
+
r || s.services.events.dispatchEvent(T.Tooltip.SHOW, {
|
|
18165
|
+
event: a,
|
|
18166
|
+
hoveredElement: l,
|
|
18167
|
+
data: [c]
|
|
18163
18168
|
});
|
|
18164
|
-
}).on("mousemove", function(
|
|
18165
|
-
const
|
|
18166
|
-
|
|
18167
|
-
event:
|
|
18168
|
-
element:
|
|
18169
|
-
datum:
|
|
18170
|
-
}),
|
|
18171
|
-
event:
|
|
18169
|
+
}).on("mousemove", function(a, o) {
|
|
18170
|
+
const l = I(this);
|
|
18171
|
+
s.services.events.dispatchEvent(T.Bar.BAR_MOUSEMOVE, {
|
|
18172
|
+
event: a,
|
|
18173
|
+
element: l,
|
|
18174
|
+
datum: o
|
|
18175
|
+
}), s.services.events.dispatchEvent(T.Tooltip.MOVE, {
|
|
18176
|
+
event: a
|
|
18172
18177
|
});
|
|
18173
|
-
}).on("click", function(
|
|
18174
|
-
|
|
18175
|
-
event:
|
|
18178
|
+
}).on("click", function(a, o) {
|
|
18179
|
+
s.services.events.dispatchEvent(T.Bar.BAR_CLICK, {
|
|
18180
|
+
event: a,
|
|
18176
18181
|
element: I(this),
|
|
18177
|
-
datum:
|
|
18182
|
+
datum: o
|
|
18178
18183
|
});
|
|
18179
|
-
}).on("mouseout", function(
|
|
18180
|
-
const
|
|
18181
|
-
|
|
18182
|
-
event:
|
|
18183
|
-
element:
|
|
18184
|
-
datum:
|
|
18185
|
-
}),
|
|
18186
|
-
hoveredElement:
|
|
18184
|
+
}).on("mouseout", function(a, o) {
|
|
18185
|
+
const l = I(this);
|
|
18186
|
+
l.classed("hovered", !1), s.services.events.dispatchEvent(T.Bar.BAR_MOUSEOUT, {
|
|
18187
|
+
event: a,
|
|
18188
|
+
element: l,
|
|
18189
|
+
datum: o
|
|
18190
|
+
}), s.services.events.dispatchEvent(T.Tooltip.HIDE, {
|
|
18191
|
+
hoveredElement: l
|
|
18187
18192
|
});
|
|
18188
18193
|
});
|
|
18189
18194
|
}
|