bfg-common 1.0.25 → 1.0.26

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.
Files changed (78) hide show
  1. package/assets/localization/local_be.json +160 -1
  2. package/assets/localization/local_en.json +160 -1
  3. package/assets/localization/local_hy.json +160 -1
  4. package/assets/localization/local_kk.json +160 -1
  5. package/assets/localization/local_ru.json +160 -1
  6. package/assets/localization/local_zh.json +160 -1
  7. package/components/atoms/alert/Notification.vue +167 -167
  8. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  9. package/components/atoms/combobox/Combobox.vue +131 -131
  10. package/components/atoms/datepicker/Datepicker.vue +612 -612
  11. package/components/atoms/list/SelectList.vue +62 -62
  12. package/components/atoms/modal/bySteps/BySteps.vue +234 -234
  13. package/components/atoms/nav/NavBar.vue +116 -116
  14. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  15. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  16. package/components/atoms/perPage/PerPage.vue +52 -52
  17. package/components/atoms/popup/SimplePopup.vue +90 -90
  18. package/components/atoms/step/VerticalStep.vue +104 -104
  19. package/components/atoms/switch/Switch.vue +107 -107
  20. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -204
  21. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  22. package/components/atoms/table/dataGrid/DataGridPagination.vue +83 -83
  23. package/components/atoms/tabs/Tabs.vue +189 -189
  24. package/components/atoms/tooltip/Signpost.vue +224 -224
  25. package/components/common/accordion/Accordion.vue +176 -176
  26. package/components/common/accordion/Recursion.vue +195 -195
  27. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  28. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  29. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  30. package/components/common/browse/Browse.vue +182 -182
  31. package/components/common/browse/blocks/Title.vue +66 -66
  32. package/components/common/diagramMain/Header.vue +160 -160
  33. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  34. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  35. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  36. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  37. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  38. package/components/common/diagramMain/modals/viewSettings/Info.vue +94 -94
  39. package/components/common/diagramMain/network/Contents.vue +238 -238
  40. package/components/common/feedback/Buttons.vue +232 -232
  41. package/components/common/feedback/Message.vue +468 -468
  42. package/components/common/feedback/VisitPortal.vue +54 -54
  43. package/components/common/modals/Rename.vue +165 -165
  44. package/components/common/monitor/advanced/Advanced.vue +33 -18
  45. package/components/common/monitor/advanced/GraphView.vue +78 -146
  46. package/components/common/monitor/advanced/tools/Tools.vue +41 -20
  47. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +35 -19
  48. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +22 -21
  49. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +44 -35
  50. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/items.ts +637 -0
  51. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +13 -15
  52. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +19 -6
  53. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +3 -5
  54. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +4 -1
  55. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +381 -388
  56. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +18 -8
  57. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +52 -58
  58. package/components/common/monitor/advanced/tools/chartOptionsModal/models/types.ts +3 -0
  59. package/components/common/monitor/models/interfaces.ts +2 -0
  60. package/components/common/perPage/PerPage.vue +51 -51
  61. package/components/common/recursionTree/RecursionTree.vue +201 -201
  62. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  63. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  64. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  65. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  66. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  67. package/models/store/storage/interfaces.ts +32 -32
  68. package/package.json +1 -1
  69. package/public/spice-console/application/application.js +1 -1
  70. package/public/spice-console/application/codec.js +257 -257
  71. package/public/spice-console/lib/rasterEngine.js +907 -907
  72. package/public/spice-console-minify/application/application.min.js +1 -1
  73. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  74. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  75. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  76. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  77. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  78. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
@@ -1,227 +1,227 @@
1
- <template>
2
- <g data-title="adapter-item-group">
3
- <common-diagram-main-highlights
4
- data-title="adapter-item"
5
- type="main-orange"
6
- width="276"
7
- height="18"
8
- x="430.5"
9
- :y="adapterSelectionPosition"
10
- :hide="!isConnectedAdapterToPortOrNetwork"
11
- />
12
-
13
- <common-diagram-main-highlights
14
- data-title="adapter-item"
15
- type="main-blue"
16
- width="276"
17
- height="18"
18
- x="430.5"
19
- :y="adapterSelectionPosition"
20
- :hide="!isSelectedAdapter"
21
- />
22
-
23
- <a
24
- :id="`${props.testId}-adapter-name`"
25
- data-title="adapter-name"
26
- cursor="pointer"
27
- @click="onSelectAdapter(props.adapter.id)"
28
- >
29
- <text
30
- dy="11px"
31
- font-size="12"
32
- font-weight="400"
33
- x="482"
34
- :y="props.adapter.adapterPosition"
35
- class="diagram__values"
36
- >
37
- {{ adapterName }}
38
- </text>
39
- </a>
40
-
41
- <foreignObject
42
- v-if="!props.adapter.carrier"
43
- data-title="adapter-connection-icon"
44
- width="18"
45
- height="18"
46
- x="446"
47
- :y="adapterSelectionPosition"
48
- >
49
- <atoms-diagram-icon name="adapter-carrier" />
50
- </foreignObject>
51
-
52
- <common-diagram-main-highlights
53
- data-title="adapter-item-line"
54
- type="line-orange"
55
- x="391.5"
56
- :y="adapterLinePosition"
57
- x2="362.5"
58
- :y2="adapterLinePosition"
59
- :hide="!isVisibleAdapterLine"
60
- />
61
-
62
- <foreignObject
63
- data-title="adapter-item-icon"
64
- width="18"
65
- height="18"
66
- x="462"
67
- :y="adapterIconPosition"
68
- >
69
- <div>
70
- <atoms-diagram-icon name="adapter-item-icon" />
71
- </div>
72
- </foreignObject>
73
-
74
- <foreignObject
75
- data-title="adapter-action-icon"
76
- width="18"
77
- height="18"
78
- x="682"
79
- :y="adapterActionIconPosition"
80
- cursor="pointer"
81
- >
82
- <div class="diagram-actions">
83
- <atoms-collapse-nav
84
- class="diagram-actions__icon"
85
- value="-1"
86
- popup-class="diagram-actions__popup"
87
- :close-after-click="true"
88
- :items="adapterPopupFields"
89
- @change="(value) => onShowModal(value, adapterProperties)"
90
- />
91
- </div>
92
- </foreignObject>
93
-
94
- <foreignObject
95
- v-if="props.adapter.carrier"
96
- data-title="adapter-second-connected-icon"
97
- width="18"
98
- height="18"
99
- x="396"
100
- :y="props.adapter.adapterPosition"
101
- >
102
- <div>
103
- <atoms-diagram-icon name="fill-adapter" />
104
- </div>
105
- </foreignObject>
106
-
107
- <foreignObject
108
- v-else
109
- data-title="adapter-second-not-connected-icon"
110
- width="18"
111
- height="18"
112
- x="396"
113
- :y="props.adapter.adapterPosition"
114
- >
115
- <div>
116
- <atoms-diagram-icon name="outline-adapter" />
117
- </div>
118
- </foreignObject>
119
- </g>
120
- </template>
121
-
122
- <script setup lang="ts">
123
- import {
124
- UI_I_Adapter,
125
- UI_I_ModalsInitialData,
126
- UI_I_SelectedAdapter,
127
- UI_I_SelectedPort,
128
- } from '~/components/common/diagramMain/models/interfaces'
129
- import { UI_I_Localization } from '~/models/interfaces'
130
- import { adapterPopupFieldsFunc } from '~/components/common/diagramMain/modals/config'
131
- import { dataForSelectedAdapterFunc } from '~/components/common/diagramMain/config'
132
-
133
- const props = defineProps<{
134
- adapter: UI_I_Adapter & { adapterPosition: number }
135
- selectedPort: UI_I_SelectedPort
136
- selectedAdapter: UI_I_SelectedAdapter
137
- networksCount: number
138
- testId: string
139
- }>()
140
-
141
- const emits = defineEmits<{
142
- (event: 'select-adapter', adapterId: string): void
143
- (
144
- event: 'show-modal',
145
- value: string,
146
- properties?: UI_I_ModalsInitialData
147
- ): void
148
- }>()
149
-
150
- const localization = computed<UI_I_Localization>(() => useLocal())
151
-
152
- const adapterPopupFields = adapterPopupFieldsFunc(localization.value)
153
-
154
- const adapterProperties = dataForSelectedAdapterFunc(props.adapter)
155
-
156
- const adapterSelectionPosition = computed<number>(
157
- () => props.adapter.adapterPosition - 1.5
158
- )
159
-
160
- const isConnectedAdapterToPortOrNetwork = computed<boolean>(() =>
161
- props.selectedPort.activeAdapters.includes(props.adapter.id)
162
- )
163
-
164
- const isSelectedAdapter = computed<boolean>(
165
- () => props.selectedAdapter.adapterId === props.adapter.id
166
- )
167
-
168
- const adapterLinePosition = computed<number>(
169
- () => props.adapter.adapterPosition + 7.5
170
- )
171
-
172
- const adapterIconPosition = computed<number>(
173
- () => props.adapter.adapterPosition - 3
174
- )
175
-
176
- const adapterActionIconPosition = computed<number>(
177
- () => props.adapter.adapterPosition - 2
178
- )
179
-
180
- const isVisibleAdapterLine = computed<boolean>(
181
- () =>
182
- (props.selectedPort.activeAdapters.includes(props.adapter.id) ||
183
- props.selectedAdapter.adapterId === props.adapter.id) &&
184
- props.adapter.status === 'active' &&
185
- !!props.networksCount
186
- )
187
-
188
- const adapterName = computed<string>(() =>
189
- props.adapter.status === 'active'
190
- ? props.adapter.fullName
191
- : props.adapter.name
192
- )
193
-
194
- const onSelectAdapter = (adapterId: string): void => {
195
- emits('select-adapter', adapterId)
196
- }
197
-
198
- const onShowModal = (
199
- value: string,
200
- properties?: UI_I_ModalsInitialData
201
- ): void => {
202
- emits('show-modal', value, properties)
203
- }
204
- </script>
205
-
206
- <style scoped lang="scss">
207
- @import '~/assets/scss/common/mixins.scss';
208
- .diagram {
209
- &__values {
210
- @include text($fs: 12px, $fw: 400);
211
- }
212
-
213
- &-actions {
214
- :deep(.diagram-actions__icon) {
215
- &.tabs-overflow {
216
- top: -12px;
217
- right: -13px;
218
- }
219
- .navbar-dropdown-menu {
220
- .navbar-dropdown-menu-item {
221
- background: red;
222
- }
223
- }
224
- }
225
- }
226
- }
227
- </style>
1
+ <template>
2
+ <g data-title="adapter-item-group">
3
+ <common-diagram-main-highlights
4
+ data-title="adapter-item"
5
+ type="main-orange"
6
+ width="276"
7
+ height="18"
8
+ x="430.5"
9
+ :y="adapterSelectionPosition"
10
+ :hide="!isConnectedAdapterToPortOrNetwork"
11
+ />
12
+
13
+ <common-diagram-main-highlights
14
+ data-title="adapter-item"
15
+ type="main-blue"
16
+ width="276"
17
+ height="18"
18
+ x="430.5"
19
+ :y="adapterSelectionPosition"
20
+ :hide="!isSelectedAdapter"
21
+ />
22
+
23
+ <a
24
+ :id="`${props.testId}-adapter-name`"
25
+ data-title="adapter-name"
26
+ cursor="pointer"
27
+ @click="onSelectAdapter(props.adapter.id)"
28
+ >
29
+ <text
30
+ dy="11px"
31
+ font-size="12"
32
+ font-weight="400"
33
+ x="482"
34
+ :y="props.adapter.adapterPosition"
35
+ class="diagram__values"
36
+ >
37
+ {{ adapterName }}
38
+ </text>
39
+ </a>
40
+
41
+ <foreignObject
42
+ v-if="!props.adapter.carrier"
43
+ data-title="adapter-connection-icon"
44
+ width="18"
45
+ height="18"
46
+ x="446"
47
+ :y="adapterSelectionPosition"
48
+ >
49
+ <atoms-diagram-icon name="adapter-carrier" />
50
+ </foreignObject>
51
+
52
+ <common-diagram-main-highlights
53
+ data-title="adapter-item-line"
54
+ type="line-orange"
55
+ x="391.5"
56
+ :y="adapterLinePosition"
57
+ x2="362.5"
58
+ :y2="adapterLinePosition"
59
+ :hide="!isVisibleAdapterLine"
60
+ />
61
+
62
+ <foreignObject
63
+ data-title="adapter-item-icon"
64
+ width="18"
65
+ height="18"
66
+ x="462"
67
+ :y="adapterIconPosition"
68
+ >
69
+ <div>
70
+ <atoms-diagram-icon name="adapter-item-icon" />
71
+ </div>
72
+ </foreignObject>
73
+
74
+ <foreignObject
75
+ data-title="adapter-action-icon"
76
+ width="18"
77
+ height="18"
78
+ x="682"
79
+ :y="adapterActionIconPosition"
80
+ cursor="pointer"
81
+ >
82
+ <div class="diagram-actions">
83
+ <atoms-collapse-nav
84
+ class="diagram-actions__icon"
85
+ value="-1"
86
+ popup-class="diagram-actions__popup"
87
+ :close-after-click="true"
88
+ :items="adapterPopupFields"
89
+ @change="(value) => onShowModal(value, adapterProperties)"
90
+ />
91
+ </div>
92
+ </foreignObject>
93
+
94
+ <foreignObject
95
+ v-if="props.adapter.carrier"
96
+ data-title="adapter-second-connected-icon"
97
+ width="18"
98
+ height="18"
99
+ x="396"
100
+ :y="props.adapter.adapterPosition"
101
+ >
102
+ <div>
103
+ <atoms-diagram-icon name="fill-adapter" />
104
+ </div>
105
+ </foreignObject>
106
+
107
+ <foreignObject
108
+ v-else
109
+ data-title="adapter-second-not-connected-icon"
110
+ width="18"
111
+ height="18"
112
+ x="396"
113
+ :y="props.adapter.adapterPosition"
114
+ >
115
+ <div>
116
+ <atoms-diagram-icon name="outline-adapter" />
117
+ </div>
118
+ </foreignObject>
119
+ </g>
120
+ </template>
121
+
122
+ <script setup lang="ts">
123
+ import {
124
+ UI_I_Adapter,
125
+ UI_I_ModalsInitialData,
126
+ UI_I_SelectedAdapter,
127
+ UI_I_SelectedPort,
128
+ } from '~/components/common/diagramMain/models/interfaces'
129
+ import { UI_I_Localization } from '~/models/interfaces'
130
+ import { adapterPopupFieldsFunc } from '~/components/common/diagramMain/modals/config'
131
+ import { dataForSelectedAdapterFunc } from '~/components/common/diagramMain/config'
132
+
133
+ const props = defineProps<{
134
+ adapter: UI_I_Adapter & { adapterPosition: number }
135
+ selectedPort: UI_I_SelectedPort
136
+ selectedAdapter: UI_I_SelectedAdapter
137
+ networksCount: number
138
+ testId: string
139
+ }>()
140
+
141
+ const emits = defineEmits<{
142
+ (event: 'select-adapter', adapterId: string): void
143
+ (
144
+ event: 'show-modal',
145
+ value: string,
146
+ properties?: UI_I_ModalsInitialData
147
+ ): void
148
+ }>()
149
+
150
+ const localization = computed<UI_I_Localization>(() => useLocal())
151
+
152
+ const adapterPopupFields = adapterPopupFieldsFunc(localization.value)
153
+
154
+ const adapterProperties = dataForSelectedAdapterFunc(props.adapter)
155
+
156
+ const adapterSelectionPosition = computed<number>(
157
+ () => props.adapter.adapterPosition - 1.5
158
+ )
159
+
160
+ const isConnectedAdapterToPortOrNetwork = computed<boolean>(() =>
161
+ props.selectedPort.activeAdapters.includes(props.adapter.id)
162
+ )
163
+
164
+ const isSelectedAdapter = computed<boolean>(
165
+ () => props.selectedAdapter.adapterId === props.adapter.id
166
+ )
167
+
168
+ const adapterLinePosition = computed<number>(
169
+ () => props.adapter.adapterPosition + 7.5
170
+ )
171
+
172
+ const adapterIconPosition = computed<number>(
173
+ () => props.adapter.adapterPosition - 3
174
+ )
175
+
176
+ const adapterActionIconPosition = computed<number>(
177
+ () => props.adapter.adapterPosition - 2
178
+ )
179
+
180
+ const isVisibleAdapterLine = computed<boolean>(
181
+ () =>
182
+ (props.selectedPort.activeAdapters.includes(props.adapter.id) ||
183
+ props.selectedAdapter.adapterId === props.adapter.id) &&
184
+ props.adapter.status === 'active' &&
185
+ !!props.networksCount
186
+ )
187
+
188
+ const adapterName = computed<string>(() =>
189
+ props.adapter.status === 'active'
190
+ ? props.adapter.fullName
191
+ : props.adapter.name
192
+ )
193
+
194
+ const onSelectAdapter = (adapterId: string): void => {
195
+ emits('select-adapter', adapterId)
196
+ }
197
+
198
+ const onShowModal = (
199
+ value: string,
200
+ properties?: UI_I_ModalsInitialData
201
+ ): void => {
202
+ emits('show-modal', value, properties)
203
+ }
204
+ </script>
205
+
206
+ <style scoped lang="scss">
207
+ @import '~/assets/scss/common/mixins.scss';
208
+ .diagram {
209
+ &__values {
210
+ @include text($fs: 12px, $fw: 400);
211
+ }
212
+
213
+ &-actions {
214
+ :deep(.diagram-actions__icon) {
215
+ &.tabs-overflow {
216
+ top: -12px;
217
+ right: -13px;
218
+ }
219
+ .navbar-dropdown-menu {
220
+ .navbar-dropdown-menu-item {
221
+ background: red;
222
+ }
223
+ }
224
+ }
225
+ }
226
+ }
227
+ </style>
@@ -1,57 +1,57 @@
1
- <template>
2
- <g data-title="adapter-items-group">
3
- <template v-if="props.adaptersWithPositions.toggle">
4
- <template
5
- v-for="(adapter, key) in props.adaptersWithPositions.adapters"
6
- :key="adapter.id"
7
- >
8
- <common-diagram-main-adapter-item
9
- :test-id="`adapter-item-${key}`"
10
- :adapter="adapter"
11
- :selected-port="props.selectedPort"
12
- :selected-adapter="props.selectedAdapter"
13
- :networks-count="props.networksCount"
14
- @select-adapter="onSelectAdapter"
15
- @show-modal="onShowModal"
16
- />
17
- </template>
18
- </template>
19
- </g>
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import {
24
- UI_I_AdaptersWithPositions,
25
- UI_I_ModalsInitialData,
26
- UI_I_SelectedAdapter,
27
- UI_I_SelectedPort,
28
- } from '~/components/common/diagramMain/models/interfaces'
29
-
30
- const props = defineProps<{
31
- adaptersWithPositions: UI_I_AdaptersWithPositions
32
- selectedPort: UI_I_SelectedPort
33
- selectedAdapter: UI_I_SelectedAdapter
34
- networksCount: number
35
- }>()
36
-
37
- const emits = defineEmits<{
38
- (event: 'select-adapter', adapterId: string): void
39
- (
40
- event: 'show-modal',
41
- value: string,
42
- properties?: UI_I_ModalsInitialData
43
- ): void
44
- }>()
45
-
46
- const onSelectAdapter = (adapterId: string): void => {
47
- emits('select-adapter', adapterId)
48
- }
49
- const onShowModal = (
50
- value: string,
51
- properties?: UI_I_ModalsInitialData
52
- ): void => {
53
- emits('show-modal', value, properties)
54
- }
55
- </script>
56
-
57
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <g data-title="adapter-items-group">
3
+ <template v-if="props.adaptersWithPositions.toggle">
4
+ <template
5
+ v-for="(adapter, key) in props.adaptersWithPositions.adapters"
6
+ :key="adapter.id"
7
+ >
8
+ <common-diagram-main-adapter-item
9
+ :test-id="`adapter-item-${key}`"
10
+ :adapter="adapter"
11
+ :selected-port="props.selectedPort"
12
+ :selected-adapter="props.selectedAdapter"
13
+ :networks-count="props.networksCount"
14
+ @select-adapter="onSelectAdapter"
15
+ @show-modal="onShowModal"
16
+ />
17
+ </template>
18
+ </template>
19
+ </g>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import {
24
+ UI_I_AdaptersWithPositions,
25
+ UI_I_ModalsInitialData,
26
+ UI_I_SelectedAdapter,
27
+ UI_I_SelectedPort,
28
+ } from '~/components/common/diagramMain/models/interfaces'
29
+
30
+ const props = defineProps<{
31
+ adaptersWithPositions: UI_I_AdaptersWithPositions
32
+ selectedPort: UI_I_SelectedPort
33
+ selectedAdapter: UI_I_SelectedAdapter
34
+ networksCount: number
35
+ }>()
36
+
37
+ const emits = defineEmits<{
38
+ (event: 'select-adapter', adapterId: string): void
39
+ (
40
+ event: 'show-modal',
41
+ value: string,
42
+ properties?: UI_I_ModalsInitialData
43
+ ): void
44
+ }>()
45
+
46
+ const onSelectAdapter = (adapterId: string): void => {
47
+ emits('select-adapter', adapterId)
48
+ }
49
+ const onShowModal = (
50
+ value: string,
51
+ properties?: UI_I_ModalsInitialData
52
+ ): void => {
53
+ emits('show-modal', value, properties)
54
+ }
55
+ </script>
56
+
57
+ <style scoped lang="scss"></style>