deprecations_detector 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +56 -0
- data/.rubocop.yml +22 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +74 -0
- data/Rakefile +28 -0
- data/deprecations_detector.gemspec +38 -0
- data/lib/deprecations_detector/active_support/deprecation_decorator.rb +17 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/application.js +213 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/libraries/jquery-1.6.2.min.js +18 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/highlight.pack.js +1 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.colorbox.js +1090 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.dataTables.min.js +152 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.timeago.js +141 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.url.js +174 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/settings.js +1 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/treeview.js +261 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/application.css +4 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/highlight.css +129 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/jquery-ui-1.8.4.custom.css +295 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/jquery.colorbox.css +52 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/reset.css +103 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/screen.css.sass +249 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/treeview.css +12 -0
- data/lib/deprecations_detector/formatters/html/formatter.rb +169 -0
- data/lib/deprecations_detector/formatters/html/public/application.css +852 -0
- data/lib/deprecations_detector/formatters/html/public/application.js +2050 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/border.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/controls.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/loading.gif +0 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/loading_background.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/favicon.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_222222_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_454545_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_888888_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/loading.gif +0 -0
- data/lib/deprecations_detector/formatters/html/public/magnify.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/settings.js +1 -0
- data/lib/deprecations_detector/formatters/html/views/file_list.erb +24 -0
- data/lib/deprecations_detector/formatters/html/views/layout.erb +39 -0
- data/lib/deprecations_detector/formatters/html/views/source_file.erb +24 -0
- data/lib/deprecations_detector/main.rb +113 -0
- data/lib/deprecations_detector/version.rb +5 -0
- data/lib/deprecations_detector.rb +10 -0
- data/lib/tasks/deprecations/combine.rake +30 -0
- data/lib/tasks/deprecations/format.rake +14 -0
- metadata +254 -0
@@ -0,0 +1,261 @@
|
|
1
|
+
// https://github.com/justinchmura/js-treeview/blob/1.1.5/src/treeview.js
|
2
|
+
|
3
|
+
(function (define) {
|
4
|
+
'use strict';
|
5
|
+
|
6
|
+
(function (root, factory) {
|
7
|
+
if (typeof define === 'function' && define.amd) {
|
8
|
+
define(factory);
|
9
|
+
} else if (typeof exports === 'object') {
|
10
|
+
module.exports = factory();
|
11
|
+
} else {
|
12
|
+
root.TreeView = factory();
|
13
|
+
}
|
14
|
+
}(window, function () {
|
15
|
+
return (function () {
|
16
|
+
|
17
|
+
/** List of events supported by the tree view */
|
18
|
+
var events = [
|
19
|
+
'expand',
|
20
|
+
'expandAll',
|
21
|
+
'collapse',
|
22
|
+
'collapseAll',
|
23
|
+
'select'
|
24
|
+
];
|
25
|
+
|
26
|
+
/**
|
27
|
+
* A utilite function to check to see if something is a DOM object
|
28
|
+
* @param {object} Object to test
|
29
|
+
* @returns {boolean} If the object is a DOM object
|
30
|
+
*/
|
31
|
+
function isDOMElement(obj) {
|
32
|
+
try {
|
33
|
+
return obj instanceof HTMLElement;
|
34
|
+
} catch (e) {
|
35
|
+
// Some browsers don't support using the HTMLElement so some extra
|
36
|
+
// checks are needed.
|
37
|
+
return typeof obj === 'object' && obj.nodeType === 1 && typeof obj.style === 'object' && typeof obj.ownerDocument === 'object';
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
/**
|
42
|
+
* A forEach that will work with a NodeList and generic Arrays
|
43
|
+
* @param {array|NodeList} arr The array to iterate over
|
44
|
+
* @param {function} callback Function that executes for each element. First parameter is element, second is index
|
45
|
+
* @param {object} The context to execute callback with
|
46
|
+
*/
|
47
|
+
function forEach(arr, callback, scope) {
|
48
|
+
var i, len = arr.length;
|
49
|
+
for (i = 0; i < len; i += 1) {
|
50
|
+
callback.call(scope, arr[i], i);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Emit an event from the tree view
|
56
|
+
* @param {string} name The name of the event to emit
|
57
|
+
*/
|
58
|
+
function emit(instance, name) {
|
59
|
+
var args = [].slice.call(arguments, 2);
|
60
|
+
if (events.indexOf(name) > -1) {
|
61
|
+
if (instance.handlers[name] && instance.handlers[name] instanceof Array) {
|
62
|
+
forEach(instance.handlers[name], function (handle) {
|
63
|
+
window.setTimeout(function () {
|
64
|
+
handle.callback.apply(handle.context, args);
|
65
|
+
}, 0);
|
66
|
+
});
|
67
|
+
}
|
68
|
+
} else {
|
69
|
+
throw new Error(name + ' event cannot be found on TreeView.');
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Renders the tree view in the DOM
|
75
|
+
*/
|
76
|
+
function render(self) {
|
77
|
+
var container = isDOMElement(self.node) ? self.node : document.getElementById(self.node);
|
78
|
+
var leaves = [], click;
|
79
|
+
var renderLeaf = function (item) {
|
80
|
+
var leaf = document.createElement('div');
|
81
|
+
var content = document.createElement('div');
|
82
|
+
var text = document.createElement('div');
|
83
|
+
var expando = document.createElement('div');
|
84
|
+
|
85
|
+
leaf.setAttribute('class', 'tree-leaf');
|
86
|
+
content.setAttribute('class', 'tree-leaf-content');
|
87
|
+
content.setAttribute('data-item', JSON.stringify(item));
|
88
|
+
text.setAttribute('class', 'tree-leaf-text');
|
89
|
+
text.textContent = item.name;
|
90
|
+
expando.setAttribute('class', 'tree-expando ' + (item.expanded ? 'expanded' : ''));
|
91
|
+
expando.textContent = item.expanded ? '-' : '+';
|
92
|
+
content.appendChild(expando);
|
93
|
+
content.appendChild(text);
|
94
|
+
leaf.appendChild(content);
|
95
|
+
if (item.children && item.children.length > 0) {
|
96
|
+
var children = document.createElement('div');
|
97
|
+
children.setAttribute('class', 'tree-child-leaves');
|
98
|
+
forEach(item.children, function (child) {
|
99
|
+
var childLeaf = renderLeaf(child);
|
100
|
+
children.appendChild(childLeaf);
|
101
|
+
});
|
102
|
+
if (!item.expanded) {
|
103
|
+
children.classList.add('hidden');
|
104
|
+
}
|
105
|
+
leaf.appendChild(children);
|
106
|
+
} else {
|
107
|
+
expando.classList.add('hidden');
|
108
|
+
}
|
109
|
+
return leaf;
|
110
|
+
};
|
111
|
+
|
112
|
+
forEach(self.data, function (item) {
|
113
|
+
leaves.push(renderLeaf.call(self, item));
|
114
|
+
});
|
115
|
+
container.innerHTML = leaves.map(function (leaf) {
|
116
|
+
return leaf.outerHTML;
|
117
|
+
}).join('');
|
118
|
+
|
119
|
+
click = function (e) {
|
120
|
+
var parent = (e.target || e.currentTarget).parentNode;
|
121
|
+
var data = JSON.parse(parent.getAttribute('data-item'));
|
122
|
+
var leaves = parent.parentNode.querySelector('.tree-child-leaves');
|
123
|
+
if (leaves) {
|
124
|
+
if (leaves.classList.contains('hidden')) {
|
125
|
+
self.expand(parent, leaves);
|
126
|
+
} else {
|
127
|
+
self.collapse(parent, leaves);
|
128
|
+
}
|
129
|
+
} else {
|
130
|
+
emit(self, 'select', {
|
131
|
+
target: e,
|
132
|
+
data: data
|
133
|
+
});
|
134
|
+
}
|
135
|
+
};
|
136
|
+
|
137
|
+
forEach(container.querySelectorAll('.tree-leaf-text'), function (node) {
|
138
|
+
node.onclick = click;
|
139
|
+
});
|
140
|
+
forEach(container.querySelectorAll('.tree-expando'), function (node) {
|
141
|
+
node.onclick = click;
|
142
|
+
});
|
143
|
+
}
|
144
|
+
|
145
|
+
/**
|
146
|
+
* @constructor
|
147
|
+
* @property {object} handlers The attached event handlers
|
148
|
+
* @property {object} data The JSON object that represents the tree structure
|
149
|
+
* @property {DOMElement} node The DOM element to render the tree in
|
150
|
+
*/
|
151
|
+
function TreeView(data, node) {
|
152
|
+
this.handlers = {};
|
153
|
+
this.node = node;
|
154
|
+
this.data = data;
|
155
|
+
render(this);
|
156
|
+
}
|
157
|
+
|
158
|
+
/**
|
159
|
+
* Expands a leaflet by the expando or the leaf text
|
160
|
+
* @param {DOMElement} node The parent node that contains the leaves
|
161
|
+
* @param {DOMElement} leaves The leaves wrapper element
|
162
|
+
*/
|
163
|
+
TreeView.prototype.expand = function (node, leaves, skipEmit) {
|
164
|
+
var expando = node.querySelector('.tree-expando');
|
165
|
+
expando.textContent = '-';
|
166
|
+
leaves.classList.remove('hidden');
|
167
|
+
if (skipEmit) { return; }
|
168
|
+
emit(this, 'expand', {
|
169
|
+
target: node,
|
170
|
+
leaves: leaves
|
171
|
+
});
|
172
|
+
};
|
173
|
+
|
174
|
+
TreeView.prototype.expandAll = function () {
|
175
|
+
var self = this;
|
176
|
+
var nodes = document.getElementById(self.node).querySelectorAll('.tree-expando');
|
177
|
+
forEach(nodes, function (node) {
|
178
|
+
var parent = node.parentNode;
|
179
|
+
var leaves = parent.parentNode.querySelector('.tree-child-leaves');
|
180
|
+
if (parent && leaves && parent.hasAttribute('data-item')) {
|
181
|
+
self.expand(parent, leaves, true);
|
182
|
+
}
|
183
|
+
});
|
184
|
+
emit(this, 'expandAll', {});
|
185
|
+
};
|
186
|
+
|
187
|
+
/**
|
188
|
+
* Collapses a leaflet by the expando or the leaf text
|
189
|
+
* @param {DOMElement} node The parent node that contains the leaves
|
190
|
+
* @param {DOMElement} leaves The leaves wrapper element
|
191
|
+
*/
|
192
|
+
TreeView.prototype.collapse = function (node, leaves, skipEmit) {
|
193
|
+
var expando = node.querySelector('.tree-expando');
|
194
|
+
expando.textContent = '+';
|
195
|
+
leaves.classList.add('hidden');
|
196
|
+
if (skipEmit) { return; }
|
197
|
+
emit(this, 'collapse', {
|
198
|
+
target: node,
|
199
|
+
leaves: leaves
|
200
|
+
});
|
201
|
+
};
|
202
|
+
|
203
|
+
/**
|
204
|
+
*/
|
205
|
+
TreeView.prototype.collapseAll = function () {
|
206
|
+
var self = this;
|
207
|
+
var nodes = document.getElementById(self.node).querySelectorAll('.tree-expando');
|
208
|
+
forEach(nodes, function (node) {
|
209
|
+
var parent = node.parentNode;
|
210
|
+
var leaves = parent.parentNode.querySelector('.tree-child-leaves');
|
211
|
+
if (parent && leaves && parent.hasAttribute('data-item')) {
|
212
|
+
self.collapse(parent, leaves, true);
|
213
|
+
}
|
214
|
+
});
|
215
|
+
emit(this, 'collapseAll', {});
|
216
|
+
};
|
217
|
+
|
218
|
+
/**
|
219
|
+
* Attach an event handler to the tree view
|
220
|
+
* @param {string} name Name of the event to attach
|
221
|
+
* @param {function} callback The callback to execute on the event
|
222
|
+
* @param {object} scope The context to call the callback with
|
223
|
+
*/
|
224
|
+
TreeView.prototype.on = function (name, callback, scope) {
|
225
|
+
if (events.indexOf(name) > -1) {
|
226
|
+
if (!this.handlers[name]) {
|
227
|
+
this.handlers[name] = [];
|
228
|
+
}
|
229
|
+
this.handlers[name].push({
|
230
|
+
callback: callback,
|
231
|
+
context: scope
|
232
|
+
});
|
233
|
+
} else {
|
234
|
+
throw new Error(name + ' is not supported by TreeView.');
|
235
|
+
}
|
236
|
+
};
|
237
|
+
|
238
|
+
/**
|
239
|
+
* Deattach an event handler from the tree view
|
240
|
+
* @param {string} name Name of the event to deattach
|
241
|
+
* @param {function} callback The function to deattach
|
242
|
+
*/
|
243
|
+
TreeView.prototype.off = function (name, callback) {
|
244
|
+
var index, found = false;
|
245
|
+
if (this.handlers[name] instanceof Array) {
|
246
|
+
this.handlers[name].forEach(function (handle, i) {
|
247
|
+
index = i;
|
248
|
+
if (handle.callback === callback && !found) {
|
249
|
+
found = true;
|
250
|
+
}
|
251
|
+
});
|
252
|
+
if (found) {
|
253
|
+
this.handlers[name].splice(index, 1);
|
254
|
+
}
|
255
|
+
}
|
256
|
+
};
|
257
|
+
|
258
|
+
return TreeView;
|
259
|
+
}());
|
260
|
+
}));
|
261
|
+
}(window.define));
|
@@ -0,0 +1,129 @@
|
|
1
|
+
/*
|
2
|
+
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
3
|
+
*/
|
4
|
+
|
5
|
+
pre code {
|
6
|
+
}
|
7
|
+
|
8
|
+
pre .comment,
|
9
|
+
pre .template_comment,
|
10
|
+
pre .diff .header,
|
11
|
+
pre .javadoc {
|
12
|
+
color: #998;
|
13
|
+
font-style: italic
|
14
|
+
}
|
15
|
+
|
16
|
+
pre .keyword,
|
17
|
+
pre .css .rule .keyword,
|
18
|
+
pre .winutils,
|
19
|
+
pre .javascript .title,
|
20
|
+
pre .lisp .title {
|
21
|
+
color: #000;
|
22
|
+
font-weight: bold
|
23
|
+
}
|
24
|
+
|
25
|
+
pre .number,
|
26
|
+
pre .hexcolor {
|
27
|
+
color: #458
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
pre .string,
|
32
|
+
pre .tag .value,
|
33
|
+
pre .phpdoc,
|
34
|
+
pre .tex .formula {
|
35
|
+
color: #d14
|
36
|
+
}
|
37
|
+
|
38
|
+
pre .subst {
|
39
|
+
color: #712;
|
40
|
+
}
|
41
|
+
|
42
|
+
pre .constant,
|
43
|
+
pre .title,
|
44
|
+
pre .id {
|
45
|
+
color: #900;
|
46
|
+
font-weight: bold
|
47
|
+
}
|
48
|
+
|
49
|
+
pre .javascript .title,
|
50
|
+
pre .lisp .title,
|
51
|
+
pre .subst {
|
52
|
+
font-weight: normal
|
53
|
+
}
|
54
|
+
|
55
|
+
pre .class .title,
|
56
|
+
pre .haskell .label,
|
57
|
+
pre .tex .command {
|
58
|
+
color: #458;
|
59
|
+
font-weight: bold
|
60
|
+
}
|
61
|
+
|
62
|
+
pre .tag,
|
63
|
+
pre .tag .title,
|
64
|
+
pre .rules .property,
|
65
|
+
pre .django .tag .keyword {
|
66
|
+
color: #000080;
|
67
|
+
font-weight: normal
|
68
|
+
}
|
69
|
+
|
70
|
+
pre .attribute,
|
71
|
+
pre .variable,
|
72
|
+
pre .instancevar,
|
73
|
+
pre .lisp .body {
|
74
|
+
color: #008080
|
75
|
+
}
|
76
|
+
|
77
|
+
pre .regexp {
|
78
|
+
color: #009926
|
79
|
+
}
|
80
|
+
|
81
|
+
pre .class {
|
82
|
+
color: #458;
|
83
|
+
font-weight: bold
|
84
|
+
}
|
85
|
+
|
86
|
+
pre .symbol,
|
87
|
+
pre .ruby .symbol .string,
|
88
|
+
pre .ruby .symbol .keyword,
|
89
|
+
pre .ruby .symbol .keymethods,
|
90
|
+
pre .lisp .keyword,
|
91
|
+
pre .tex .special,
|
92
|
+
pre .input_number {
|
93
|
+
color: #990073
|
94
|
+
}
|
95
|
+
|
96
|
+
pre .builtin,
|
97
|
+
pre .built_in,
|
98
|
+
pre .lisp .title {
|
99
|
+
color: #0086b3
|
100
|
+
}
|
101
|
+
|
102
|
+
pre .preprocessor,
|
103
|
+
pre .pi,
|
104
|
+
pre .doctype,
|
105
|
+
pre .shebang,
|
106
|
+
pre .cdata {
|
107
|
+
color: #999;
|
108
|
+
font-weight: bold
|
109
|
+
}
|
110
|
+
|
111
|
+
pre .deletion {
|
112
|
+
background: #fdd
|
113
|
+
}
|
114
|
+
|
115
|
+
pre .addition {
|
116
|
+
background: #dfd
|
117
|
+
}
|
118
|
+
|
119
|
+
pre .diff .change {
|
120
|
+
background: #0086b3
|
121
|
+
}
|
122
|
+
|
123
|
+
pre .chunk {
|
124
|
+
color: #aaa
|
125
|
+
}
|
126
|
+
|
127
|
+
pre .tex .formula {
|
128
|
+
opacity: 0.5;
|
129
|
+
}
|
data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/jquery-ui-1.8.4.custom.css
ADDED
@@ -0,0 +1,295 @@
|
|
1
|
+
/*
|
2
|
+
* jQuery UI CSS Framework @VERSION
|
3
|
+
*
|
4
|
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
5
|
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6
|
+
* http://jquery.org/license
|
7
|
+
*
|
8
|
+
* http://docs.jquery.com/UI/Theming/API
|
9
|
+
*/
|
10
|
+
|
11
|
+
/* Layout helpers
|
12
|
+
----------------------------------*/
|
13
|
+
.ui-helper-hidden { display: none; }
|
14
|
+
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
|
15
|
+
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
16
|
+
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
17
|
+
.ui-helper-clearfix { display: inline-block; }
|
18
|
+
/* required comment for clearfix to work in Opera \*/
|
19
|
+
* html .ui-helper-clearfix { height:1%; }
|
20
|
+
.ui-helper-clearfix { display:block; }
|
21
|
+
/* end clearfix */
|
22
|
+
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
23
|
+
|
24
|
+
|
25
|
+
/* Interaction Cues
|
26
|
+
----------------------------------*/
|
27
|
+
.ui-state-disabled { cursor: default !important; }
|
28
|
+
|
29
|
+
|
30
|
+
/* Icons
|
31
|
+
----------------------------------*/
|
32
|
+
|
33
|
+
/* states and images */
|
34
|
+
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
35
|
+
|
36
|
+
|
37
|
+
/* Misc visuals
|
38
|
+
----------------------------------*/
|
39
|
+
|
40
|
+
/* Overlays */
|
41
|
+
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
42
|
+
|
43
|
+
|
44
|
+
/*
|
45
|
+
* jQuery UI CSS Framework @VERSION
|
46
|
+
*
|
47
|
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
48
|
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
49
|
+
* http://jquery.org/license
|
50
|
+
*
|
51
|
+
* http://docs.jquery.com/UI/Theming/API
|
52
|
+
*
|
53
|
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
|
54
|
+
*/
|
55
|
+
|
56
|
+
|
57
|
+
/* Component containers
|
58
|
+
----------------------------------*/
|
59
|
+
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
|
60
|
+
.ui-widget .ui-widget { font-size: 1em; }
|
61
|
+
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
|
62
|
+
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
|
63
|
+
.ui-widget-content a { color: #222222; }
|
64
|
+
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
|
65
|
+
.ui-widget-header a { color: #222222; }
|
66
|
+
|
67
|
+
/* Interaction states
|
68
|
+
----------------------------------*/
|
69
|
+
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
|
70
|
+
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
|
71
|
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
72
|
+
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
|
73
|
+
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
|
74
|
+
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
|
75
|
+
.ui-widget :active { outline: none; }
|
76
|
+
|
77
|
+
/* Interaction Cues
|
78
|
+
----------------------------------*/
|
79
|
+
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
|
80
|
+
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
81
|
+
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
|
82
|
+
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
|
83
|
+
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
|
84
|
+
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
85
|
+
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
86
|
+
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
87
|
+
|
88
|
+
/* Icons
|
89
|
+
----------------------------------*/
|
90
|
+
|
91
|
+
/* states and images */
|
92
|
+
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
93
|
+
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
94
|
+
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
95
|
+
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
|
96
|
+
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
97
|
+
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
|
98
|
+
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
|
99
|
+
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
|
100
|
+
|
101
|
+
/* positioning */
|
102
|
+
.ui-icon-carat-1-n { background-position: 0 0; }
|
103
|
+
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
104
|
+
.ui-icon-carat-1-e { background-position: -32px 0; }
|
105
|
+
.ui-icon-carat-1-se { background-position: -48px 0; }
|
106
|
+
.ui-icon-carat-1-s { background-position: -64px 0; }
|
107
|
+
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
108
|
+
.ui-icon-carat-1-w { background-position: -96px 0; }
|
109
|
+
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
110
|
+
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
111
|
+
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
112
|
+
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
113
|
+
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
114
|
+
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
115
|
+
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
116
|
+
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
117
|
+
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
118
|
+
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
119
|
+
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
120
|
+
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
121
|
+
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
122
|
+
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
123
|
+
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
124
|
+
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
125
|
+
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
126
|
+
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
127
|
+
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
128
|
+
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
129
|
+
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
130
|
+
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
131
|
+
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
132
|
+
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
133
|
+
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
134
|
+
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
135
|
+
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
136
|
+
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
137
|
+
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
138
|
+
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
139
|
+
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
140
|
+
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
141
|
+
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
142
|
+
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
143
|
+
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
144
|
+
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
145
|
+
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
146
|
+
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
147
|
+
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
148
|
+
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
149
|
+
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
150
|
+
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
151
|
+
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
152
|
+
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
153
|
+
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
154
|
+
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
155
|
+
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
156
|
+
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
157
|
+
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
158
|
+
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
159
|
+
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
160
|
+
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
161
|
+
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
162
|
+
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
163
|
+
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
164
|
+
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
165
|
+
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
166
|
+
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
167
|
+
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
168
|
+
.ui-icon-extlink { background-position: -32px -80px; }
|
169
|
+
.ui-icon-newwin { background-position: -48px -80px; }
|
170
|
+
.ui-icon-refresh { background-position: -64px -80px; }
|
171
|
+
.ui-icon-shuffle { background-position: -80px -80px; }
|
172
|
+
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
173
|
+
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
174
|
+
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
175
|
+
.ui-icon-folder-open { background-position: -16px -96px; }
|
176
|
+
.ui-icon-document { background-position: -32px -96px; }
|
177
|
+
.ui-icon-document-b { background-position: -48px -96px; }
|
178
|
+
.ui-icon-note { background-position: -64px -96px; }
|
179
|
+
.ui-icon-mail-closed { background-position: -80px -96px; }
|
180
|
+
.ui-icon-mail-open { background-position: -96px -96px; }
|
181
|
+
.ui-icon-suitcase { background-position: -112px -96px; }
|
182
|
+
.ui-icon-comment { background-position: -128px -96px; }
|
183
|
+
.ui-icon-person { background-position: -144px -96px; }
|
184
|
+
.ui-icon-print { background-position: -160px -96px; }
|
185
|
+
.ui-icon-trash { background-position: -176px -96px; }
|
186
|
+
.ui-icon-locked { background-position: -192px -96px; }
|
187
|
+
.ui-icon-unlocked { background-position: -208px -96px; }
|
188
|
+
.ui-icon-bookmark { background-position: -224px -96px; }
|
189
|
+
.ui-icon-tag { background-position: -240px -96px; }
|
190
|
+
.ui-icon-home { background-position: 0 -112px; }
|
191
|
+
.ui-icon-flag { background-position: -16px -112px; }
|
192
|
+
.ui-icon-calendar { background-position: -32px -112px; }
|
193
|
+
.ui-icon-cart { background-position: -48px -112px; }
|
194
|
+
.ui-icon-pencil { background-position: -64px -112px; }
|
195
|
+
.ui-icon-clock { background-position: -80px -112px; }
|
196
|
+
.ui-icon-disk { background-position: -96px -112px; }
|
197
|
+
.ui-icon-calculator { background-position: -112px -112px; }
|
198
|
+
.ui-icon-zoomin { background-position: -128px -112px; }
|
199
|
+
.ui-icon-zoomout { background-position: -144px -112px; }
|
200
|
+
.ui-icon-search { background-position: -160px -112px; }
|
201
|
+
.ui-icon-wrench { background-position: -176px -112px; }
|
202
|
+
.ui-icon-gear { background-position: -192px -112px; }
|
203
|
+
.ui-icon-heart { background-position: -208px -112px; }
|
204
|
+
.ui-icon-star { background-position: -224px -112px; }
|
205
|
+
.ui-icon-link { background-position: -240px -112px; }
|
206
|
+
.ui-icon-cancel { background-position: 0 -128px; }
|
207
|
+
.ui-icon-plus { background-position: -16px -128px; }
|
208
|
+
.ui-icon-plusthick { background-position: -32px -128px; }
|
209
|
+
.ui-icon-minus { background-position: -48px -128px; }
|
210
|
+
.ui-icon-minusthick { background-position: -64px -128px; }
|
211
|
+
.ui-icon-close { background-position: -80px -128px; }
|
212
|
+
.ui-icon-closethick { background-position: -96px -128px; }
|
213
|
+
.ui-icon-key { background-position: -112px -128px; }
|
214
|
+
.ui-icon-lightbulb { background-position: -128px -128px; }
|
215
|
+
.ui-icon-scissors { background-position: -144px -128px; }
|
216
|
+
.ui-icon-clipboard { background-position: -160px -128px; }
|
217
|
+
.ui-icon-copy { background-position: -176px -128px; }
|
218
|
+
.ui-icon-contact { background-position: -192px -128px; }
|
219
|
+
.ui-icon-image { background-position: -208px -128px; }
|
220
|
+
.ui-icon-video { background-position: -224px -128px; }
|
221
|
+
.ui-icon-script { background-position: -240px -128px; }
|
222
|
+
.ui-icon-alert { background-position: 0 -144px; }
|
223
|
+
.ui-icon-info { background-position: -16px -144px; }
|
224
|
+
.ui-icon-notice { background-position: -32px -144px; }
|
225
|
+
.ui-icon-help { background-position: -48px -144px; }
|
226
|
+
.ui-icon-check { background-position: -64px -144px; }
|
227
|
+
.ui-icon-bullet { background-position: -80px -144px; }
|
228
|
+
.ui-icon-radio-off { background-position: -96px -144px; }
|
229
|
+
.ui-icon-radio-on { background-position: -112px -144px; }
|
230
|
+
.ui-icon-pin-w { background-position: -128px -144px; }
|
231
|
+
.ui-icon-pin-s { background-position: -144px -144px; }
|
232
|
+
.ui-icon-play { background-position: 0 -160px; }
|
233
|
+
.ui-icon-pause { background-position: -16px -160px; }
|
234
|
+
.ui-icon-seek-next { background-position: -32px -160px; }
|
235
|
+
.ui-icon-seek-prev { background-position: -48px -160px; }
|
236
|
+
.ui-icon-seek-end { background-position: -64px -160px; }
|
237
|
+
.ui-icon-seek-start { background-position: -80px -160px; }
|
238
|
+
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
239
|
+
.ui-icon-seek-first { background-position: -80px -160px; }
|
240
|
+
.ui-icon-stop { background-position: -96px -160px; }
|
241
|
+
.ui-icon-eject { background-position: -112px -160px; }
|
242
|
+
.ui-icon-volume-off { background-position: -128px -160px; }
|
243
|
+
.ui-icon-volume-on { background-position: -144px -160px; }
|
244
|
+
.ui-icon-power { background-position: 0 -176px; }
|
245
|
+
.ui-icon-signal-diag { background-position: -16px -176px; }
|
246
|
+
.ui-icon-signal { background-position: -32px -176px; }
|
247
|
+
.ui-icon-battery-0 { background-position: -48px -176px; }
|
248
|
+
.ui-icon-battery-1 { background-position: -64px -176px; }
|
249
|
+
.ui-icon-battery-2 { background-position: -80px -176px; }
|
250
|
+
.ui-icon-battery-3 { background-position: -96px -176px; }
|
251
|
+
.ui-icon-circle-plus { background-position: 0 -192px; }
|
252
|
+
.ui-icon-circle-minus { background-position: -16px -192px; }
|
253
|
+
.ui-icon-circle-close { background-position: -32px -192px; }
|
254
|
+
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
255
|
+
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
256
|
+
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
257
|
+
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
258
|
+
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
259
|
+
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
260
|
+
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
261
|
+
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
262
|
+
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
263
|
+
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
264
|
+
.ui-icon-circle-check { background-position: -208px -192px; }
|
265
|
+
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
266
|
+
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
267
|
+
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
268
|
+
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
269
|
+
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
270
|
+
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
271
|
+
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
272
|
+
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
273
|
+
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
274
|
+
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
275
|
+
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
276
|
+
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
277
|
+
|
278
|
+
|
279
|
+
/* Misc visuals
|
280
|
+
----------------------------------*/
|
281
|
+
|
282
|
+
/* Corner radius */
|
283
|
+
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
284
|
+
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
285
|
+
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
286
|
+
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
287
|
+
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
288
|
+
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
289
|
+
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
290
|
+
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
291
|
+
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
|
292
|
+
|
293
|
+
/* Overlays */
|
294
|
+
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
|
295
|
+
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
|