bootstrap 4.5.3 → 4.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/javascripts/bootstrap/alert.js +44 -39
- data/assets/javascripts/bootstrap/button.js +43 -38
- data/assets/javascripts/bootstrap/carousel.js +135 -107
- data/assets/javascripts/bootstrap/collapse.js +97 -76
- data/assets/javascripts/bootstrap/dropdown.js +103 -85
- data/assets/javascripts/bootstrap/modal.js +168 -147
- data/assets/javascripts/bootstrap/popover.js +74 -37
- data/assets/javascripts/bootstrap/scrollspy.js +75 -54
- data/assets/javascripts/bootstrap/tab.js +67 -56
- data/assets/javascripts/bootstrap/toast.js +71 -48
- data/assets/javascripts/bootstrap/tooltip.js +144 -117
- data/assets/javascripts/bootstrap/util.js +16 -19
- data/assets/javascripts/bootstrap-sprockets.js +6 -6
- data/assets/javascripts/bootstrap.js +834 -895
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/stylesheets/_bootstrap-grid.scss +4 -3
- data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
- data/assets/stylesheets/_bootstrap.scss +3 -3
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -3
- data/assets/stylesheets/bootstrap/_card.scss +5 -5
- data/assets/stylesheets/bootstrap/_carousel.scss +6 -3
- data/assets/stylesheets/bootstrap/_custom-forms.scss +10 -8
- data/assets/stylesheets/bootstrap/_dropdown.scss +1 -1
- data/assets/stylesheets/bootstrap/_forms.scss +10 -10
- data/assets/stylesheets/bootstrap/_functions.scss +47 -1
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +22 -3
- data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
- data/assets/stylesheets/bootstrap/_modal.scss +2 -2
- data/assets/stylesheets/bootstrap/_nav.scss +1 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
- data/assets/stylesheets/bootstrap/_pagination.scss +2 -2
- data/assets/stylesheets/bootstrap/_popover.scss +9 -9
- data/assets/stylesheets/bootstrap/_print.scss +0 -9
- data/assets/stylesheets/bootstrap/_progress.scss +1 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +8 -8
- data/assets/stylesheets/bootstrap/_root.scss +0 -1
- data/assets/stylesheets/bootstrap/_spinners.scss +13 -4
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_type.scss +1 -1
- data/assets/stylesheets/bootstrap/_variables.scss +20 -14
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +20 -3
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +11 -11
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
- data/lib/bootstrap/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e791267a64e7f6a3aef767cc844085c0c3b815ca4aa8148d2c07a16a9f149db4
|
4
|
+
data.tar.gz: '068dcaefca522f86bbffde485b6b87b4ab446e591fcb65858f963ebd105d4eb0'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 132b45ccfd439386a5b998e0111f0e845b35a090c764f3274158474b29b908c82915d79a723175bdb29b1d47a6f74cab426d2d4c20f36e95ef40649a1da86c9a
|
7
|
+
data.tar.gz: 0d9fd4713444aa657b664a1216146c0a500437ec493e1df8ac93e0faaecd1964483d63ada3b988714d991a1e9317705af14f9405db936a774c767e179625b70b
|
data/README.md
CHANGED
@@ -1,45 +1,54 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap alert.js v4.
|
3
|
-
* Copyright 2011-
|
2
|
+
* Bootstrap alert.js v4.6.1 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5
5
|
*/
|
6
6
|
(function (global, factory) {
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
|
8
|
-
typeof define === 'function' && define.amd ? define(['jquery', './util
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Alert = factory(global.jQuery, global.Util));
|
10
|
-
}(this, (function ($, Util) { 'use strict';
|
10
|
+
})(this, (function ($, Util) { 'use strict';
|
11
11
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
13
|
|
14
14
|
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
15
15
|
var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
|
16
16
|
|
17
|
-
function _defineProperties(target, props) {
|
17
|
+
function _defineProperties(target, props) {
|
18
|
+
for (var i = 0; i < props.length; i++) {
|
19
|
+
var descriptor = props[i];
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
21
|
+
descriptor.configurable = true;
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
30
|
+
return Constructor;
|
31
|
+
}
|
18
32
|
|
19
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
20
33
|
/**
|
21
|
-
* ------------------------------------------------------------------------
|
22
34
|
* Constants
|
23
|
-
* ------------------------------------------------------------------------
|
24
35
|
*/
|
25
36
|
|
26
37
|
var NAME = 'alert';
|
27
|
-
var VERSION = '4.
|
38
|
+
var VERSION = '4.6.1';
|
28
39
|
var DATA_KEY = 'bs.alert';
|
29
40
|
var EVENT_KEY = "." + DATA_KEY;
|
30
41
|
var DATA_API_KEY = '.data-api';
|
31
|
-
var JQUERY_NO_CONFLICT = $__default[
|
32
|
-
var SELECTOR_DISMISS = '[data-dismiss="alert"]';
|
33
|
-
var EVENT_CLOSE = "close" + EVENT_KEY;
|
34
|
-
var EVENT_CLOSED = "closed" + EVENT_KEY;
|
35
|
-
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
42
|
+
var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
36
43
|
var CLASS_NAME_ALERT = 'alert';
|
37
44
|
var CLASS_NAME_FADE = 'fade';
|
38
45
|
var CLASS_NAME_SHOW = 'show';
|
46
|
+
var EVENT_CLOSE = "close" + EVENT_KEY;
|
47
|
+
var EVENT_CLOSED = "closed" + EVENT_KEY;
|
48
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
49
|
+
var SELECTOR_DISMISS = '[data-dismiss="alert"]';
|
39
50
|
/**
|
40
|
-
*
|
41
|
-
* Class Definition
|
42
|
-
* ------------------------------------------------------------------------
|
51
|
+
* Class definition
|
43
52
|
*/
|
44
53
|
|
45
54
|
var Alert = /*#__PURE__*/function () {
|
@@ -68,13 +77,13 @@
|
|
68
77
|
};
|
69
78
|
|
70
79
|
_proto.dispose = function dispose() {
|
71
|
-
$__default[
|
80
|
+
$__default["default"].removeData(this._element, DATA_KEY);
|
72
81
|
this._element = null;
|
73
82
|
} // Private
|
74
83
|
;
|
75
84
|
|
76
85
|
_proto._getRootElement = function _getRootElement(element) {
|
77
|
-
var selector = Util__default[
|
86
|
+
var selector = Util__default["default"].getSelectorFromElement(element);
|
78
87
|
var parent = false;
|
79
88
|
|
80
89
|
if (selector) {
|
@@ -82,43 +91,43 @@
|
|
82
91
|
}
|
83
92
|
|
84
93
|
if (!parent) {
|
85
|
-
parent = $__default[
|
94
|
+
parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0];
|
86
95
|
}
|
87
96
|
|
88
97
|
return parent;
|
89
98
|
};
|
90
99
|
|
91
100
|
_proto._triggerCloseEvent = function _triggerCloseEvent(element) {
|
92
|
-
var closeEvent = $__default[
|
93
|
-
$__default[
|
101
|
+
var closeEvent = $__default["default"].Event(EVENT_CLOSE);
|
102
|
+
$__default["default"](element).trigger(closeEvent);
|
94
103
|
return closeEvent;
|
95
104
|
};
|
96
105
|
|
97
106
|
_proto._removeElement = function _removeElement(element) {
|
98
107
|
var _this = this;
|
99
108
|
|
100
|
-
$__default[
|
109
|
+
$__default["default"](element).removeClass(CLASS_NAME_SHOW);
|
101
110
|
|
102
|
-
if (!$__default[
|
111
|
+
if (!$__default["default"](element).hasClass(CLASS_NAME_FADE)) {
|
103
112
|
this._destroyElement(element);
|
104
113
|
|
105
114
|
return;
|
106
115
|
}
|
107
116
|
|
108
|
-
var transitionDuration = Util__default[
|
109
|
-
$__default[
|
117
|
+
var transitionDuration = Util__default["default"].getTransitionDurationFromElement(element);
|
118
|
+
$__default["default"](element).one(Util__default["default"].TRANSITION_END, function (event) {
|
110
119
|
return _this._destroyElement(element, event);
|
111
120
|
}).emulateTransitionEnd(transitionDuration);
|
112
121
|
};
|
113
122
|
|
114
123
|
_proto._destroyElement = function _destroyElement(element) {
|
115
|
-
$__default[
|
124
|
+
$__default["default"](element).detach().trigger(EVENT_CLOSED).remove();
|
116
125
|
} // Static
|
117
126
|
;
|
118
127
|
|
119
128
|
Alert._jQueryInterface = function _jQueryInterface(config) {
|
120
129
|
return this.each(function () {
|
121
|
-
var $element = $__default[
|
130
|
+
var $element = $__default["default"](this);
|
122
131
|
var data = $element.data(DATA_KEY);
|
123
132
|
|
124
133
|
if (!data) {
|
@@ -152,27 +161,23 @@
|
|
152
161
|
return Alert;
|
153
162
|
}();
|
154
163
|
/**
|
155
|
-
*
|
156
|
-
* Data Api implementation
|
157
|
-
* ------------------------------------------------------------------------
|
164
|
+
* Data API implementation
|
158
165
|
*/
|
159
166
|
|
160
167
|
|
161
|
-
$__default[
|
168
|
+
$__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
|
162
169
|
/**
|
163
|
-
* ------------------------------------------------------------------------
|
164
170
|
* jQuery
|
165
|
-
* ------------------------------------------------------------------------
|
166
171
|
*/
|
167
172
|
|
168
|
-
$__default[
|
169
|
-
$__default[
|
173
|
+
$__default["default"].fn[NAME] = Alert._jQueryInterface;
|
174
|
+
$__default["default"].fn[NAME].Constructor = Alert;
|
170
175
|
|
171
|
-
$__default[
|
172
|
-
$__default[
|
176
|
+
$__default["default"].fn[NAME].noConflict = function () {
|
177
|
+
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
173
178
|
return Alert._jQueryInterface;
|
174
179
|
};
|
175
180
|
|
176
181
|
return Alert;
|
177
182
|
|
178
|
-
}))
|
183
|
+
}));
|
@@ -1,36 +1,50 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap button.js v4.
|
3
|
-
* Copyright 2011-
|
2
|
+
* Bootstrap button.js v4.6.1 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5
5
|
*/
|
6
6
|
(function (global, factory) {
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) :
|
8
8
|
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Button = factory(global.jQuery));
|
10
|
-
}(this, (function ($) { 'use strict';
|
10
|
+
})(this, (function ($) { 'use strict';
|
11
11
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
13
|
|
14
14
|
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
15
15
|
|
16
|
-
function _defineProperties(target, props) {
|
16
|
+
function _defineProperties(target, props) {
|
17
|
+
for (var i = 0; i < props.length; i++) {
|
18
|
+
var descriptor = props[i];
|
19
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
20
|
+
descriptor.configurable = true;
|
21
|
+
if ("value" in descriptor) descriptor.writable = true;
|
22
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
29
|
+
return Constructor;
|
30
|
+
}
|
17
31
|
|
18
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
19
32
|
/**
|
20
|
-
* ------------------------------------------------------------------------
|
21
33
|
* Constants
|
22
|
-
* ------------------------------------------------------------------------
|
23
34
|
*/
|
24
35
|
|
25
36
|
var NAME = 'button';
|
26
|
-
var VERSION = '4.
|
37
|
+
var VERSION = '4.6.1';
|
27
38
|
var DATA_KEY = 'bs.button';
|
28
39
|
var EVENT_KEY = "." + DATA_KEY;
|
29
40
|
var DATA_API_KEY = '.data-api';
|
30
|
-
var JQUERY_NO_CONFLICT = $__default[
|
41
|
+
var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
31
42
|
var CLASS_NAME_ACTIVE = 'active';
|
32
43
|
var CLASS_NAME_BUTTON = 'btn';
|
33
44
|
var CLASS_NAME_FOCUS = 'focus';
|
45
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
46
|
+
var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY);
|
47
|
+
var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
|
34
48
|
var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
|
35
49
|
var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
|
36
50
|
var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
|
@@ -38,13 +52,8 @@
|
|
38
52
|
var SELECTOR_INPUT = 'input:not([type="hidden"])';
|
39
53
|
var SELECTOR_ACTIVE = '.active';
|
40
54
|
var SELECTOR_BUTTON = '.btn';
|
41
|
-
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
42
|
-
var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY);
|
43
|
-
var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
|
44
55
|
/**
|
45
|
-
*
|
46
|
-
* Class Definition
|
47
|
-
* ------------------------------------------------------------------------
|
56
|
+
* Class definition
|
48
57
|
*/
|
49
58
|
|
50
59
|
var Button = /*#__PURE__*/function () {
|
@@ -60,7 +69,7 @@
|
|
60
69
|
_proto.toggle = function toggle() {
|
61
70
|
var triggerChangeEvent = true;
|
62
71
|
var addAriaPressed = true;
|
63
|
-
var rootElement = $__default[
|
72
|
+
var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
|
64
73
|
|
65
74
|
if (rootElement) {
|
66
75
|
var input = this._element.querySelector(SELECTOR_INPUT);
|
@@ -73,7 +82,7 @@
|
|
73
82
|
var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
|
74
83
|
|
75
84
|
if (activeElement) {
|
76
|
-
$__default[
|
85
|
+
$__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE);
|
77
86
|
}
|
78
87
|
}
|
79
88
|
}
|
@@ -85,7 +94,7 @@
|
|
85
94
|
}
|
86
95
|
|
87
96
|
if (!this.shouldAvoidTriggerChange) {
|
88
|
-
$__default[
|
97
|
+
$__default["default"](input).trigger('change');
|
89
98
|
}
|
90
99
|
}
|
91
100
|
|
@@ -100,20 +109,20 @@
|
|
100
109
|
}
|
101
110
|
|
102
111
|
if (triggerChangeEvent) {
|
103
|
-
$__default[
|
112
|
+
$__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE);
|
104
113
|
}
|
105
114
|
}
|
106
115
|
};
|
107
116
|
|
108
117
|
_proto.dispose = function dispose() {
|
109
|
-
$__default[
|
118
|
+
$__default["default"].removeData(this._element, DATA_KEY);
|
110
119
|
this._element = null;
|
111
120
|
} // Static
|
112
121
|
;
|
113
122
|
|
114
123
|
Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {
|
115
124
|
return this.each(function () {
|
116
|
-
var $element = $__default[
|
125
|
+
var $element = $__default["default"](this);
|
117
126
|
var data = $element.data(DATA_KEY);
|
118
127
|
|
119
128
|
if (!data) {
|
@@ -139,18 +148,16 @@
|
|
139
148
|
return Button;
|
140
149
|
}();
|
141
150
|
/**
|
142
|
-
*
|
143
|
-
* Data Api implementation
|
144
|
-
* ------------------------------------------------------------------------
|
151
|
+
* Data API implementation
|
145
152
|
*/
|
146
153
|
|
147
154
|
|
148
|
-
$__default[
|
155
|
+
$__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
|
149
156
|
var button = event.target;
|
150
157
|
var initialButton = button;
|
151
158
|
|
152
|
-
if (!$__default[
|
153
|
-
button = $__default[
|
159
|
+
if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) {
|
160
|
+
button = $__default["default"](button).closest(SELECTOR_BUTTON)[0];
|
154
161
|
}
|
155
162
|
|
156
163
|
if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
|
@@ -165,14 +172,14 @@
|
|
165
172
|
}
|
166
173
|
|
167
174
|
if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
|
168
|
-
Button._jQueryInterface.call($__default[
|
175
|
+
Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT');
|
169
176
|
}
|
170
177
|
}
|
171
178
|
}).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
|
172
|
-
var button = $__default[
|
173
|
-
$__default[
|
179
|
+
var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0];
|
180
|
+
$__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
|
174
181
|
});
|
175
|
-
$__default[
|
182
|
+
$__default["default"](window).on(EVENT_LOAD_DATA_API, function () {
|
176
183
|
// ensure correct active class is set to match the controls' actual values/states
|
177
184
|
// find all checkboxes/readio buttons inside data-toggle groups
|
178
185
|
var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
|
@@ -202,19 +209,17 @@
|
|
202
209
|
}
|
203
210
|
});
|
204
211
|
/**
|
205
|
-
* ------------------------------------------------------------------------
|
206
212
|
* jQuery
|
207
|
-
* ------------------------------------------------------------------------
|
208
213
|
*/
|
209
214
|
|
210
|
-
$__default[
|
211
|
-
$__default[
|
215
|
+
$__default["default"].fn[NAME] = Button._jQueryInterface;
|
216
|
+
$__default["default"].fn[NAME].Constructor = Button;
|
212
217
|
|
213
|
-
$__default[
|
214
|
-
$__default[
|
218
|
+
$__default["default"].fn[NAME].noConflict = function () {
|
219
|
+
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
215
220
|
return Button._jQueryInterface;
|
216
221
|
};
|
217
222
|
|
218
223
|
return Button;
|
219
224
|
|
220
|
-
}))
|
225
|
+
}));
|