lwc 2.22.0 → 2.23.2
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/engine-dom/esm/es2017/engine-dom.js +1222 -947
- package/dist/engine-dom/iife/es2017/engine-dom.js +1222 -946
- package/dist/engine-dom/iife/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es2017/engine-dom_debug.js +1129 -882
- package/dist/engine-dom/iife/es5/engine-dom.js +524 -499
- package/dist/engine-dom/iife/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/iife/es5/engine-dom_debug.js +475 -457
- package/dist/engine-dom/umd/es2017/engine-dom.js +1222 -946
- package/dist/engine-dom/umd/es2017/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es2017/engine-dom_debug.js +1129 -882
- package/dist/engine-dom/umd/es5/engine-dom.js +524 -499
- package/dist/engine-dom/umd/es5/engine-dom.min.js +1 -1
- package/dist/engine-dom/umd/es5/engine-dom_debug.js +475 -457
- package/dist/engine-server/commonjs/es2017/engine-server.js +809 -626
- package/dist/engine-server/commonjs/es2017/engine-server.min.js +1 -1
- package/dist/engine-server/esm/es2017/engine-server.js +809 -626
- package/dist/synthetic-shadow/esm/es2017/synthetic-shadow.js +30 -27
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.js +30 -27
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/iife/es2017/synthetic-shadow_debug.js +29 -26
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.js +32 -31
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/iife/es5/synthetic-shadow_debug.js +31 -30
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.js +30 -27
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/umd/es2017/synthetic-shadow_debug.js +29 -26
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.js +32 -31
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow.min.js +2 -2
- package/dist/synthetic-shadow/umd/es5/synthetic-shadow_debug.js +31 -30
- package/dist/wire-service/esm/es2017/wire-service.js +2 -2
- package/dist/wire-service/iife/es2017/wire-service.js +2 -2
- package/dist/wire-service/iife/es2017/wire-service_debug.js +2 -2
- package/dist/wire-service/iife/es5/wire-service.js +2 -2
- package/dist/wire-service/iife/es5/wire-service_debug.js +2 -2
- package/dist/wire-service/umd/es2017/wire-service.js +2 -2
- package/dist/wire-service/umd/es2017/wire-service_debug.js +2 -2
- package/dist/wire-service/umd/es5/wire-service.js +2 -2
- package/dist/wire-service/umd/es5/wire-service_debug.js +2 -2
- package/package.json +7 -7
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
var KEY__SHADOW_TOKEN = '$shadowToken$';
|
|
126
126
|
var KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';
|
|
127
127
|
var KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';
|
|
128
|
-
/** version: 2.
|
|
128
|
+
/** version: 2.23.2 */
|
|
129
129
|
|
|
130
130
|
/*
|
|
131
131
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -282,7 +282,6 @@
|
|
|
282
282
|
|
|
283
283
|
var defaultViewGetter = getOwnPropertyDescriptor(Document.prototype, 'defaultView').get;
|
|
284
284
|
var _Document$prototype = Document.prototype,
|
|
285
|
-
createTreeWalker = _Document$prototype.createTreeWalker,
|
|
286
285
|
querySelectorAll = _Document$prototype.querySelectorAll,
|
|
287
286
|
getElementById = _Document$prototype.getElementById,
|
|
288
287
|
getElementsByClassName = _Document$prototype.getElementsByClassName,
|
|
@@ -1210,8 +1209,8 @@
|
|
|
1210
1209
|
});
|
|
1211
1210
|
}
|
|
1212
1211
|
|
|
1213
|
-
var
|
|
1214
|
-
/** version: 2.
|
|
1212
|
+
var lwcRuntimeFlags = _globalThis.lwcRuntimeFlags;
|
|
1213
|
+
/** version: 2.23.2 */
|
|
1215
1214
|
|
|
1216
1215
|
/*
|
|
1217
1216
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -1453,7 +1452,7 @@
|
|
|
1453
1452
|
},
|
|
1454
1453
|
textContent: {
|
|
1455
1454
|
get: function get() {
|
|
1456
|
-
if (!
|
|
1455
|
+
if (!lwcRuntimeFlags.ENABLE_NODE_PATCH) {
|
|
1457
1456
|
if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
|
|
1458
1457
|
return textContentGetterPatched.call(this);
|
|
1459
1458
|
}
|
|
@@ -1554,7 +1553,7 @@
|
|
|
1554
1553
|
return true;
|
|
1555
1554
|
}
|
|
1556
1555
|
|
|
1557
|
-
if (!
|
|
1556
|
+
if (!lwcRuntimeFlags.ENABLE_NODE_PATCH) {
|
|
1558
1557
|
if (otherNode == null) {
|
|
1559
1558
|
return false;
|
|
1560
1559
|
}
|
|
@@ -1579,7 +1578,7 @@
|
|
|
1579
1578
|
},
|
|
1580
1579
|
cloneNode: {
|
|
1581
1580
|
value: function value(deep) {
|
|
1582
|
-
if (!
|
|
1581
|
+
if (!lwcRuntimeFlags.ENABLE_NODE_PATCH) {
|
|
1583
1582
|
if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
|
|
1584
1583
|
return cloneNodePatched.call(this, deep);
|
|
1585
1584
|
}
|
|
@@ -4042,7 +4041,7 @@
|
|
|
4042
4041
|
defineProperties(Element.prototype, {
|
|
4043
4042
|
innerHTML: {
|
|
4044
4043
|
get: function get() {
|
|
4045
|
-
if (!
|
|
4044
|
+
if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
|
|
4046
4045
|
if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
|
|
4047
4046
|
return innerHTMLGetterPatched.call(this);
|
|
4048
4047
|
}
|
|
@@ -4065,7 +4064,7 @@
|
|
|
4065
4064
|
},
|
|
4066
4065
|
outerHTML: {
|
|
4067
4066
|
get: function get() {
|
|
4068
|
-
if (!
|
|
4067
|
+
if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
|
|
4069
4068
|
if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
|
|
4070
4069
|
return outerHTMLGetterPatched.call(this);
|
|
4071
4070
|
}
|
|
@@ -4191,7 +4190,7 @@
|
|
|
4191
4190
|
});
|
|
4192
4191
|
return isUndefined(elm) ? null : elm;
|
|
4193
4192
|
} else {
|
|
4194
|
-
if (!
|
|
4193
|
+
if (!lwcRuntimeFlags.ENABLE_NODE_LIST_PATCH) {
|
|
4195
4194
|
// `this` is a manually inserted element inside a shadowRoot, return the first element.
|
|
4196
4195
|
return nodeList.length === 0 ? null : nodeList[0];
|
|
4197
4196
|
} // Element is inside a shadow but we dont know which one. Use the
|
|
@@ -4207,7 +4206,7 @@
|
|
|
4207
4206
|
return isUndefined(_elm) ? null : _elm;
|
|
4208
4207
|
}
|
|
4209
4208
|
} else {
|
|
4210
|
-
if (!
|
|
4209
|
+
if (!lwcRuntimeFlags.ENABLE_NODE_LIST_PATCH) {
|
|
4211
4210
|
if (!(this instanceof HTMLBodyElement)) {
|
|
4212
4211
|
var _elm3 = nodeList[0];
|
|
4213
4212
|
return isUndefined(_elm3) ? null : _elm3;
|
|
@@ -4299,7 +4298,7 @@
|
|
|
4299
4298
|
value: function value() {
|
|
4300
4299
|
var nodeList = arrayFromCollection(querySelectorAll$1.apply(this, ArraySlice.call(arguments)));
|
|
4301
4300
|
|
|
4302
|
-
if (!
|
|
4301
|
+
if (!lwcRuntimeFlags.ENABLE_NODE_LIST_PATCH) {
|
|
4303
4302
|
var filteredResults = getFilteredArrayOfNodes(this, nodeList, 0
|
|
4304
4303
|
/* ShadowDomSemantic.Disabled */
|
|
4305
4304
|
);
|
|
@@ -4322,7 +4321,7 @@
|
|
|
4322
4321
|
value: function value() {
|
|
4323
4322
|
var elements = arrayFromCollection(getElementsByClassName$1.apply(this, ArraySlice.call(arguments)));
|
|
4324
4323
|
|
|
4325
|
-
if (!
|
|
4324
|
+
if (!lwcRuntimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
|
|
4326
4325
|
return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));
|
|
4327
4326
|
}
|
|
4328
4327
|
|
|
@@ -4339,7 +4338,7 @@
|
|
|
4339
4338
|
value: function value() {
|
|
4340
4339
|
var elements = arrayFromCollection(getElementsByTagName$1.apply(this, ArraySlice.call(arguments)));
|
|
4341
4340
|
|
|
4342
|
-
if (!
|
|
4341
|
+
if (!lwcRuntimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
|
|
4343
4342
|
return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));
|
|
4344
4343
|
}
|
|
4345
4344
|
|
|
@@ -4356,7 +4355,7 @@
|
|
|
4356
4355
|
value: function value() {
|
|
4357
4356
|
var elements = arrayFromCollection(getElementsByTagNameNS$1.apply(this, ArraySlice.call(arguments)));
|
|
4358
4357
|
|
|
4359
|
-
if (!
|
|
4358
|
+
if (!lwcRuntimeFlags.ENABLE_HTML_COLLECTIONS_PATCH) {
|
|
4360
4359
|
return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));
|
|
4361
4360
|
}
|
|
4362
4361
|
|
|
@@ -5177,11 +5176,11 @@
|
|
|
5177
5176
|
if (innerTextGetter !== null && innerTextSetter !== null) {
|
|
5178
5177
|
defineProperty(HTMLElement.prototype, 'innerText', {
|
|
5179
5178
|
get: function get() {
|
|
5180
|
-
if (!
|
|
5179
|
+
if (!lwcRuntimeFlags.ENABLE_INNER_OUTER_TEXT_PATCH) {
|
|
5181
5180
|
return innerTextGetter.call(this);
|
|
5182
5181
|
}
|
|
5183
5182
|
|
|
5184
|
-
if (!
|
|
5183
|
+
if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
|
|
5185
5184
|
if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
|
|
5186
5185
|
return getInnerText(this);
|
|
5187
5186
|
}
|
|
@@ -5211,11 +5210,11 @@
|
|
|
5211
5210
|
// As a setter, it removes the current node and replaces it with the given text.
|
|
5212
5211
|
defineProperty(HTMLElement.prototype, 'outerText', {
|
|
5213
5212
|
get: function get() {
|
|
5214
|
-
if (!
|
|
5213
|
+
if (!lwcRuntimeFlags.ENABLE_INNER_OUTER_TEXT_PATCH) {
|
|
5215
5214
|
return outerTextGetter.call(this);
|
|
5216
5215
|
}
|
|
5217
5216
|
|
|
5218
|
-
if (!
|
|
5217
|
+
if (!lwcRuntimeFlags.ENABLE_ELEMENT_PATCH) {
|
|
5219
5218
|
if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {
|
|
5220
5219
|
return getInnerText(this);
|
|
5221
5220
|
}
|
|
@@ -5285,20 +5284,22 @@
|
|
|
5285
5284
|
},
|
|
5286
5285
|
configurable: true
|
|
5287
5286
|
});
|
|
5287
|
+
|
|
5288
|
+
function recursivelySetShadowResolver(node, fn) {
|
|
5289
|
+
node[KEY__SHADOW_RESOLVER] = fn;
|
|
5290
|
+
var childNodes = childNodesGetter.call(node);
|
|
5291
|
+
|
|
5292
|
+
for (var i = 0, n = childNodes.length; i < n; i++) {
|
|
5293
|
+
recursivelySetShadowResolver(childNodes[i], fn);
|
|
5294
|
+
}
|
|
5295
|
+
}
|
|
5296
|
+
|
|
5288
5297
|
defineProperty(Element.prototype, KEY__SHADOW_STATIC, {
|
|
5289
5298
|
set: function set(v) {
|
|
5290
5299
|
// Marking an element as static will propagate the shadow resolver to the children.
|
|
5291
|
-
var fn = this[KEY__SHADOW_RESOLVER];
|
|
5292
|
-
|
|
5293
5300
|
if (v) {
|
|
5294
|
-
var
|
|
5295
|
-
|
|
5296
|
-
}, false);
|
|
5297
|
-
var currentNode;
|
|
5298
|
-
|
|
5299
|
-
while (currentNode = treeWalker.nextNode()) {
|
|
5300
|
-
currentNode[KEY__SHADOW_RESOLVER] = fn;
|
|
5301
|
-
}
|
|
5301
|
+
var fn = this[KEY__SHADOW_RESOLVER];
|
|
5302
|
+
recursivelySetShadowResolver(this, fn);
|
|
5302
5303
|
}
|
|
5303
5304
|
|
|
5304
5305
|
this[KEY__SHADOW_STATIC_PRIVATE] = v;
|
|
@@ -5443,6 +5444,6 @@
|
|
|
5443
5444
|
},
|
|
5444
5445
|
configurable: true
|
|
5445
5446
|
});
|
|
5446
|
-
/** version: 2.
|
|
5447
|
+
/** version: 2.23.2 */
|
|
5447
5448
|
|
|
5448
5449
|
}));
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
function isUndefined(obj) {
|
|
8
8
|
return obj === undefined;
|
|
9
9
|
}
|
|
10
|
-
/** version: 2.
|
|
10
|
+
/** version: 2.23.2 */
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
13
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -181,6 +181,6 @@ class LegacyWireAdapterBridge {
|
|
|
181
181
|
forEach.call(this.disconnecting, (listener) => listener.call(undefined));
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
/** version: 2.
|
|
184
|
+
/** version: 2.23.2 */
|
|
185
185
|
|
|
186
186
|
export { ValueChangedEvent, register, registerWireService };
|
|
@@ -10,7 +10,7 @@ var WireService = (function (exports) {
|
|
|
10
10
|
function isUndefined(obj) {
|
|
11
11
|
return obj === undefined;
|
|
12
12
|
}
|
|
13
|
-
/** version: 2.
|
|
13
|
+
/** version: 2.23.2 */
|
|
14
14
|
|
|
15
15
|
/*
|
|
16
16
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -184,7 +184,7 @@ var WireService = (function (exports) {
|
|
|
184
184
|
forEach.call(this.disconnecting, (listener) => listener.call(undefined));
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
/** version: 2.
|
|
187
|
+
/** version: 2.23.2 */
|
|
188
188
|
|
|
189
189
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
190
190
|
exports.register = register;
|
|
@@ -10,7 +10,7 @@ var WireService = (function (exports) {
|
|
|
10
10
|
function isUndefined(obj) {
|
|
11
11
|
return obj === undefined;
|
|
12
12
|
}
|
|
13
|
-
/** version: 2.
|
|
13
|
+
/** version: 2.23.2 */
|
|
14
14
|
|
|
15
15
|
/*
|
|
16
16
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -184,7 +184,7 @@ var WireService = (function (exports) {
|
|
|
184
184
|
forEach.call(this.disconnecting, (listener) => listener.call(undefined));
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
|
-
/** version: 2.
|
|
187
|
+
/** version: 2.23.2 */
|
|
188
188
|
|
|
189
189
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
190
190
|
exports.register = register;
|
|
@@ -33,7 +33,7 @@ var WireService = (function (exports) {
|
|
|
33
33
|
function isUndefined(obj) {
|
|
34
34
|
return obj === undefined;
|
|
35
35
|
}
|
|
36
|
-
/** version: 2.
|
|
36
|
+
/** version: 2.23.2 */
|
|
37
37
|
|
|
38
38
|
/*
|
|
39
39
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -280,7 +280,7 @@ var WireService = (function (exports) {
|
|
|
280
280
|
|
|
281
281
|
return LegacyWireAdapterBridge;
|
|
282
282
|
}();
|
|
283
|
-
/** version: 2.
|
|
283
|
+
/** version: 2.23.2 */
|
|
284
284
|
|
|
285
285
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
286
286
|
exports.register = register;
|
|
@@ -33,7 +33,7 @@ var WireService = (function (exports) {
|
|
|
33
33
|
function isUndefined(obj) {
|
|
34
34
|
return obj === undefined;
|
|
35
35
|
}
|
|
36
|
-
/** version: 2.
|
|
36
|
+
/** version: 2.23.2 */
|
|
37
37
|
|
|
38
38
|
/*
|
|
39
39
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -280,7 +280,7 @@ var WireService = (function (exports) {
|
|
|
280
280
|
|
|
281
281
|
return LegacyWireAdapterBridge;
|
|
282
282
|
}();
|
|
283
|
-
/** version: 2.
|
|
283
|
+
/** version: 2.23.2 */
|
|
284
284
|
|
|
285
285
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
286
286
|
exports.register = register;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
function isUndefined(obj) {
|
|
14
14
|
return obj === undefined;
|
|
15
15
|
}
|
|
16
|
-
/** version: 2.
|
|
16
|
+
/** version: 2.23.2 */
|
|
17
17
|
|
|
18
18
|
/*
|
|
19
19
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
forEach.call(this.disconnecting, (listener) => listener.call(undefined));
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
/** version: 2.
|
|
190
|
+
/** version: 2.23.2 */
|
|
191
191
|
|
|
192
192
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
193
193
|
exports.register = register;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
function isUndefined(obj) {
|
|
14
14
|
return obj === undefined;
|
|
15
15
|
}
|
|
16
|
-
/** version: 2.
|
|
16
|
+
/** version: 2.23.2 */
|
|
17
17
|
|
|
18
18
|
/*
|
|
19
19
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
forEach.call(this.disconnecting, (listener) => listener.call(undefined));
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
|
-
/** version: 2.
|
|
190
|
+
/** version: 2.23.2 */
|
|
191
191
|
|
|
192
192
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
193
193
|
exports.register = register;
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
function isUndefined(obj) {
|
|
37
37
|
return obj === undefined;
|
|
38
38
|
}
|
|
39
|
-
/** version: 2.
|
|
39
|
+
/** version: 2.23.2 */
|
|
40
40
|
|
|
41
41
|
/*
|
|
42
42
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
|
|
284
284
|
return LegacyWireAdapterBridge;
|
|
285
285
|
}();
|
|
286
|
-
/** version: 2.
|
|
286
|
+
/** version: 2.23.2 */
|
|
287
287
|
|
|
288
288
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
289
289
|
exports.register = register;
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
function isUndefined(obj) {
|
|
37
37
|
return obj === undefined;
|
|
38
38
|
}
|
|
39
|
-
/** version: 2.
|
|
39
|
+
/** version: 2.23.2 */
|
|
40
40
|
|
|
41
41
|
/*
|
|
42
42
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
|
|
284
284
|
return LegacyWireAdapterBridge;
|
|
285
285
|
}();
|
|
286
|
-
/** version: 2.
|
|
286
|
+
/** version: 2.23.2 */
|
|
287
287
|
|
|
288
288
|
exports.ValueChangedEvent = ValueChangedEvent;
|
|
289
289
|
exports.register = register;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lwc",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.23.2",
|
|
4
4
|
"description": "Lightning Web Components (LWC)",
|
|
5
5
|
"homepage": "https://lwc.dev/",
|
|
6
6
|
"repository": {
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
]
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@lwc/compiler": "2.
|
|
46
|
-
"@lwc/engine-dom": "2.
|
|
47
|
-
"@lwc/engine-server": "2.
|
|
48
|
-
"@lwc/features": "2.
|
|
49
|
-
"@lwc/synthetic-shadow": "2.
|
|
50
|
-
"@lwc/wire-service": "2.
|
|
45
|
+
"@lwc/compiler": "2.23.2",
|
|
46
|
+
"@lwc/engine-dom": "2.23.2",
|
|
47
|
+
"@lwc/engine-server": "2.23.2",
|
|
48
|
+
"@lwc/features": "2.23.2",
|
|
49
|
+
"@lwc/synthetic-shadow": "2.23.2",
|
|
50
|
+
"@lwc/wire-service": "2.23.2"
|
|
51
51
|
}
|
|
52
52
|
}
|