@odigos/ui-kit 0.0.4 → 0.0.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.6](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.5...ui-kit-v0.0.6) (2025-03-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * remove index exports ([390caaa](https://github.com/odigos-io/ui-kit/commit/390caaa823d748085a88209a13eab7ec3cd51dd2))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * package exports ([8cd9963](https://github.com/odigos-io/ui-kit/commit/8cd9963399be70342a401f8991ae4eb00a736501))
14
+
15
+ ## [0.0.5](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.4...ui-kit-v0.0.5) (2025-03-13)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * root files ([863854f](https://github.com/odigos-io/ui-kit/commit/863854fd239715af94e491f8b77decb78a358726))
21
+
3
22
  ## [0.0.4](https://github.com/odigos-io/ui-kit/compare/ui-kit-v0.0.3...ui-kit-v0.0.4) (2025-03-13)
4
23
 
5
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odigos/ui-kit",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "author": "Odigos",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,55 +19,50 @@
19
19
  "access": "public"
20
20
  },
21
21
  "exports": {
22
- ".": {
23
- "types": "./lib/index.d.ts",
24
- "import": "./lib/index.js",
25
- "require": "./lib/index.js"
26
- },
27
22
  "./components": {
28
23
  "types": "./lib/components/index.d.ts",
29
- "import": "./lib/components/index.js",
30
- "require": "./lib/components/index.js"
24
+ "import": "./lib/components.js",
25
+ "require": "./lib/components.js"
31
26
  },
32
27
  "./containers": {
33
28
  "types": "./lib/containers/index.d.ts",
34
- "import": "./lib/containers/index.js",
35
- "require": "./lib/containers/index.js"
29
+ "import": "./lib/containers.js",
30
+ "require": "./lib/containers.js"
36
31
  },
37
32
  "./constants": {
38
33
  "types": "./lib/constants/index.d.ts",
39
- "import": "./lib/constants/index.js",
40
- "require": "./lib/constants/index.js"
34
+ "import": "./lib/constants.js",
35
+ "require": "./lib/constants.js"
41
36
  },
42
37
  "./functions": {
43
38
  "types": "./lib/functions/index.d.ts",
44
- "import": "./lib/functions/index.js",
45
- "require": "./lib/functions/index.js"
39
+ "import": "./lib/functions.js",
40
+ "require": "./lib/functions.js"
46
41
  },
47
42
  "./hooks": {
48
43
  "types": "./lib/hooks/index.d.ts",
49
- "import": "./lib/hooks/index.js",
50
- "require": "./lib/hooks/index.js"
44
+ "import": "./lib/hooks.js",
45
+ "require": "./lib/hooks.js"
51
46
  },
52
47
  "./icons": {
53
48
  "types": "./lib/icons/index.d.ts",
54
- "import": "./lib/icons/index.js",
55
- "require": "./lib/icons/index.js"
49
+ "import": "./lib/icons.js",
50
+ "require": "./lib/icons.js"
56
51
  },
57
52
  "./store": {
58
53
  "types": "./lib/store/index.d.ts",
59
- "import": "./lib/store/index.js",
60
- "require": "./lib/store/index.js"
54
+ "import": "./lib/store.js",
55
+ "require": "./lib/store.js"
61
56
  },
62
57
  "./theme": {
63
58
  "types": "./lib/theme/index.d.ts",
64
- "import": "./lib/theme/index.js",
65
- "require": "./lib/theme/index.js"
59
+ "import": "./lib/theme.js",
60
+ "require": "./lib/theme.js"
66
61
  },
67
62
  "./types": {
68
63
  "types": "./lib/types/index.d.ts",
69
- "import": "./lib/types/index.js",
70
- "require": "./lib/types/index.js"
64
+ "import": "./lib/types.js",
65
+ "require": "./lib/types.js"
71
66
  }
72
67
  },
73
68
  "peerDependencies": {
package/.prettierrc DELETED
@@ -1,13 +0,0 @@
1
- {
2
- "tabWidth": 2,
3
- "printWidth": 200,
4
- "semi": true,
5
- "singleQuote": true,
6
- "jsxSingleQuote": true,
7
- "quoteProps": "as-needed",
8
- "trailingComma": "all",
9
- "bracketSpacing": true,
10
- "bracketSameLine": false,
11
- "arrowParens": "always",
12
- "parser": "typescript"
13
- }
package/lib/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export * from './components';
2
- export * from './constants';
3
- export * from './containers';
4
- export * from './functions';
5
- export * from './hooks';
6
- export * from './icons';
7
- export * from './store';
8
- export * from './theme';
9
- export * from './types';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/lib/index.js DELETED
@@ -1,228 +0,0 @@
1
- export { AutocompleteInput } from './src/components/auto-complete-input/index.js';
2
- export { Badge } from './src/components/badge/index.js';
3
- export { Button } from './src/components/button/index.js';
4
- export { CancelWarning } from './src/components/cancel-warning/index.js';
5
- export { Checkbox } from './src/components/checkbox/index.js';
6
- export { Code } from './src/components/code/index.js';
7
- export { ConditionDetails } from './src/components/condition-details/index.js';
8
- export { DataCard } from './src/components/data-card/index.js';
9
- export { DataTab } from './src/components/data-tab/index.js';
10
- export { DeleteWarning } from './src/components/delete-warning/index.js';
11
- export { Divider } from './src/components/divider/index.js';
12
- export { DocsButton } from './src/components/docs-button/index.js';
13
- export { Drawer } from './src/components/drawer/index.js';
14
- export { Dropdown } from './src/components/dropdown/index.js';
15
- export { ExtendArrow } from './src/components/extend-arrow/index.js';
16
- export { FadeLoader } from './src/components/fade-loader/index.js';
17
- export { FieldError } from './src/components/field-error/index.js';
18
- export { FieldLabel } from './src/components/field-label/index.js';
19
- export { Header } from './src/components/header/index.js';
20
- export { IconButton } from './src/components/icon-button/index.js';
21
- export { IconGroup } from './src/components/icon-group/index.js';
22
- export { IconTitleBadge } from './src/components/icon-title-badge/index.js';
23
- export { IconWrapped } from './src/components/icon-wrapped/index.js';
24
- export { IconsNav } from './src/components/icons-nav/index.js';
25
- export { ImageControlled } from './src/components/image-controlled/index.js';
26
- export { Input } from './src/components/input/index.js';
27
- export { InputList } from './src/components/input-list/index.js';
28
- export { InputTable } from './src/components/input-table/index.js';
29
- export { InteractiveTable } from './src/components/interactive-table/index.js';
30
- export { KeyValueInputsList } from './src/components/key-value-input-list/index.js';
31
- export { Modal } from './src/components/modal/index.js';
32
- export { MonitorsCheckboxes } from './src/components/monitors-checkboxes/index.js';
33
- export { MonitorsIcons } from './src/components/monitors-icons/index.js';
34
- export { NavigationButtons } from './src/components/navigation-buttons/index.js';
35
- export { NoDataFound } from './src/components/no-data-found/index.js';
36
- export { NotificationNote } from './src/components/notification-note/index.js';
37
- export { SectionTitle } from './src/components/section-title/index.js';
38
- export { Segment } from './src/components/segment/index.js';
39
- export { SkeletonLoader } from './src/components/skeleton-loader/index.js';
40
- export { Status } from './src/components/status/index.js';
41
- export { Stepper } from './src/components/stepper/index.js';
42
- export { Text } from './src/components/text/index.js';
43
- export { TextArea } from './src/components/textarea/index.js';
44
- export { Toggle } from './src/components/toggle/index.js';
45
- export { Tooltip } from './src/components/tooltip/index.js';
46
- export { TraceLoader } from './src/components/trace-loader/index.js';
47
- export { WarningModal } from './src/components/warning-modal/index.js';
48
- export { CenterThis, FlexColumn, FlexRow, ModalBody, Overlay } from './src/components/styled.js';
49
- export { ACTION_OPTIONS } from './src/constants/actions/index.js';
50
- export { INSTRUMENTATION_RULE_OPTIONS } from './src/constants/instrumentation-rules/index.js';
51
- export { MONITORS_OPTIONS } from './src/constants/signals/index.js';
52
- export { DISPLAY_TITLES, FORM_ALERTS } from './src/constants/strings/index.js';
53
- export { TOKEN_ABOUT_TO_EXPIRE } from './src/constants/tokens/index.js';
54
- export { ActionDrawer } from './src/containers/action-drawer/index.js';
55
- export { ActionForm } from './src/containers/action-form/index.js';
56
- export { ActionModal } from './src/containers/action-modal/index.js';
57
- export { ActionTable } from './src/containers/action-table/index.js';
58
- export { AwaitPipeline } from './src/containers/await-pipeline/index.js';
59
- export { ComputePlatformSelect } from './src/containers/compute-platform-select/index.js';
60
- export { ComputePlatforms } from './src/containers/compute-platforms/index.js';
61
- export { ComputePlatformsActionsMenu } from './src/containers/compute-platforms-actions-menu/index.js';
62
- export { DataFlow } from './src/containers/data-flow/index.js';
63
- export { DataFlowActionsMenu } from './src/containers/data-flow-actions-menu/index.js';
64
- export { DestinationDrawer } from './src/containers/destination-drawer/index.js';
65
- export { DestinationForm } from './src/containers/destination-form/index.js';
66
- export { DestinationModal } from './src/containers/destination-modal/index.js';
67
- export { DestinationSelectionForm } from './src/containers/destination-selection-form/index.js';
68
- export { DestinationTable } from './src/containers/destination-table/index.js';
69
- export { ConnectionStatusDropdown } from './src/containers/dropdowns/connection-status-dropdown/index.js';
70
- export { ErrorDropdown } from './src/containers/dropdowns/error-dropdown/index.js';
71
- export { LanguageDropdown } from './src/containers/dropdowns/language-dropdown/index.js';
72
- export { MonitorDropdown } from './src/containers/dropdowns/monitor-dropdown/index.js';
73
- export { NamespaceDropdown } from './src/containers/dropdowns/namespace-dropdown/index.js';
74
- export { PlatformTypesDropdown } from './src/containers/dropdowns/platform-types-dropdown/index.js';
75
- export { KindDropdown } from './src/containers/dropdowns/kind-dropdown/index.js';
76
- export { InstrumentationRuleDrawer } from './src/containers/instrumentation-rule-drawer/index.js';
77
- export { InstrumentationRuleForm } from './src/containers/instrumentation-rule-form/index.js';
78
- export { InstrumentationRuleModal } from './src/containers/instrumentation-rule-modal/index.js';
79
- export { InstrumentationRuleTable } from './src/containers/instrumentation-rule-table/index.js';
80
- export { MultiSourceControl } from './src/containers/multi-source-control/index.js';
81
- export { NotificationManager } from './src/containers/notification-manager/index.js';
82
- export { OverviewDrawer } from './src/containers/overview-drawer/index.js';
83
- export { NAV_ICON_IDS, SideNav } from './src/containers/side-nav/index.js';
84
- export { SlackInvite } from './src/containers/slack-invite/index.js';
85
- export { SourceDrawer } from './src/containers/source-drawer/index.js';
86
- export { SourceForm } from './src/containers/source-form/index.js';
87
- export { SourceModal } from './src/containers/source-modal/index.js';
88
- export { SourceSelectionForm } from './src/containers/source-selection-form/index.js';
89
- export { SourceTable } from './src/containers/source-table/index.js';
90
- export { SystemOverview } from './src/containers/system-overview/index.js';
91
- export { ToastList } from './src/containers/toast-list/index.js';
92
- export { ToggleDarkMode } from './src/containers/toggle-dark-mode/index.js';
93
- export { capitalizeFirstLetter } from './src/functions/capitalize-first-letter/index.js';
94
- export { cleanObjectEmptyStringsValues } from './src/functions/clean-object-empty-strings-values/index.js';
95
- export { compareCondition } from './src/functions/compare-condition/index.js';
96
- export { deepClone } from './src/functions/deep-clone/index.js';
97
- export { deriveTypeFromRule } from './src/functions/derive-type-from-rule/index.js';
98
- export { filterActions } from './src/functions/filter-actions/index.js';
99
- export { filterDestinations } from './src/functions/filter-destinations/index.js';
100
- export { filterSources } from './src/functions/filter-sources/index.js';
101
- export { flattenObjectKeys } from './src/functions/flatten-object-keys/index.js';
102
- export { formatBytes } from './src/functions/format-bytes/index.js';
103
- export { getActionIcon } from './src/functions/get-action-icon/index.js';
104
- export { getConditionsBooleans } from './src/functions/get-conditions-booleans/index.js';
105
- export { getContainersInstrumentedCount } from './src/functions/get-containers-counts/index.js';
106
- export { getContainersIcons } from './src/functions/get-containers-icons/index.js';
107
- export { getDestinationIcon } from './src/functions/get-destination-icon/index.js';
108
- export { getEntityIcon } from './src/functions/get-entity-icon/index.js';
109
- export { getEntityId } from './src/functions/get-entity-id/index.js';
110
- export { getEntityLabel } from './src/functions/get-entity-label/index.js';
111
- export { getIdFromSseTarget } from './src/functions/get-id-from-sse-target/index.js';
112
- export { getInstrumentationRuleIcon } from './src/functions/get-instrumentation-rule-icon/index.js';
113
- export { getMetricForEntity } from './src/functions/get-metric-for-entity/index.js';
114
- export { getMonitorIcon } from './src/functions/get-monitor-icon/index.js';
115
- export { getPlatformIcon } from './src/functions/get-platform-icon/index.js';
116
- export { getPlatformLabel } from './src/functions/get-platform-label/index.js';
117
- export { getProgrammingLanguageIcon } from './src/functions/get-programming-language-icon/index.js';
118
- export { getSseTargetFromId } from './src/functions/get-sse-target-from-id/index.js';
119
- export { getStatusIcon } from './src/functions/get-status-icon/index.js';
120
- export { getValueForRange } from './src/functions/get-value-for-range/index.js';
121
- export { getWorkloadId } from './src/functions/get-workload-id/index.js';
122
- export { isEmpty } from './src/functions/is-emtpy/index.js';
123
- export { isOverTime } from './src/functions/is-over-time/index.js';
124
- export { isTimeElapsed } from './src/functions/is-time-elapsed/index.js';
125
- export { mapConditions } from './src/functions/map-conditions/index.js';
126
- export { parseJsonStringToPrettyString } from './src/functions/parse-json-string-to-pretty-string/index.js';
127
- export { removeEmptyValuesFromObject } from './src/functions/remove-empty-values-from-object/index.js';
128
- export { safeJsonParse } from './src/functions/safe-json-parse/index.js';
129
- export { safeJsonStringify } from './src/functions/safe-json-stringify/index.js';
130
- export { sleep } from './src/functions/sleep/index.js';
131
- export { splitCamelString } from './src/functions/split-camel-string/index.js';
132
- export { stringifyNonStringValues } from './src/functions/stringify-non-string-values/index.js';
133
- export { useActionFormData } from './src/hooks/useActionFormData.js';
134
- export { useClickNode } from './src/hooks/useClickNode.js';
135
- export { useClickNotification } from './src/hooks/useClickNotification.js';
136
- export { useContainerSize } from './src/hooks/useContainerSize.js';
137
- export { useCopy } from './src/hooks/useCopy.js';
138
- export { useDestinationFormData } from './src/hooks/useDestinationFormData.js';
139
- export { useGenericForm } from './src/hooks/useGenericForm.js';
140
- export { useInstrumentationRuleFormData } from './src/hooks/useInstrumentationRuleFormData.js';
141
- export { useKeyDown } from './src/hooks/useKeyDown.js';
142
- export { useOnClickOutside } from './src/hooks/useOnClickOutside.js';
143
- export { useSourceFormData } from './src/hooks/useSourceFormData.js';
144
- export { useSourceSelectionFormData } from './src/hooks/useSourceSelectionFormData.js';
145
- export { useTimeAgo } from './src/hooks/useTimeAgo.js';
146
- export { useTransition } from './src/hooks/useTransition.js';
147
- export { AddClusterInfoIcon } from './src/icons/actions/add-cluster-info-icon/index.js';
148
- export { DeleteAttributeIcon } from './src/icons/actions/delete-attribute-icon/index.js';
149
- export { PiiMaskingIcon } from './src/icons/actions/pii-masking-icon/index.js';
150
- export { RenameAttributeIcon } from './src/icons/actions/rename-attribute-icon/index.js';
151
- export { SamplerIcon } from './src/icons/actions/sampler-icon/index.js';
152
- export { OdigosLogo } from './src/icons/brand/odigos-logo/index.js';
153
- export { OdigosLogoText } from './src/icons/brand/odigos-logo-text/index.js';
154
- export { ArrowIcon } from './src/icons/common/arrow-icon/index.js';
155
- export { CodeBracketsIcon } from './src/icons/common/code-brackets-icon/index.js';
156
- export { CodeIcon } from './src/icons/common/code-icon/index.js';
157
- export { CommandIcon } from './src/icons/common/command-icon/index.js';
158
- export { CopyIcon } from './src/icons/common/copy-icon/index.js';
159
- export { EditIcon } from './src/icons/common/edit-icon/index.js';
160
- export { ExtendArrowIcon } from './src/icons/common/extend-arrow-icon/index.js';
161
- export { FilterIcon } from './src/icons/common/filter-icon/index.js';
162
- export { FolderIcon } from './src/icons/common/folder-icon/index.js';
163
- export { KeyIcon } from './src/icons/common/key-icon/index.js';
164
- export { ListIcon } from './src/icons/common/list-icon/index.js';
165
- export { NoDataIcon } from './src/icons/common/no-data-icon/index.js';
166
- export { NotebookIcon } from './src/icons/common/notebook-icon/index.js';
167
- export { NotificationIcon } from './src/icons/common/notification-icon/index.js';
168
- export { SearchIcon } from './src/icons/common/search-icon/index.js';
169
- export { SortArrowsIcon } from './src/icons/common/sort-arrows-icon/index.js';
170
- export { TerminalIcon } from './src/icons/common/terminal-icon/index.js';
171
- export { TrashIcon } from './src/icons/common/trash-icon/index.js';
172
- export { XIcon } from './src/icons/common/x-icon/index.js';
173
- export { K8sLogo } from './src/icons/compute-platform/k8s-logo/index.js';
174
- export { VmLogo } from './src/icons/compute-platform/vm-logo/index.js';
175
- export { CodeAttributesIcon } from './src/icons/instrumentation-rules/code-attributes-icon/index.js';
176
- export { PayloadCollectionIcon } from './src/icons/instrumentation-rules/payload-collection-icon/index.js';
177
- export { MinusIcon } from './src/icons/math/minus-icon/index.js';
178
- export { PlusIcon } from './src/icons/math/plus-icon/index.js';
179
- export { LogsIcon } from './src/icons/monitors/logs-icon/index.js';
180
- export { MetricsIcon } from './src/icons/monitors/metrics-icon/index.js';
181
- export { TracesIcon } from './src/icons/monitors/traces-icon/index.js';
182
- export { EyeClosedIcon } from './src/icons/on-off/eye-closed-icon/index.js';
183
- export { EyeOpenIcon } from './src/icons/on-off/eye-open-icon/index.js';
184
- export { LightOffIcon } from './src/icons/on-off/light-off-icon/index.js';
185
- export { LightOnIcon } from './src/icons/on-off/light-on-icon/index.js';
186
- export { MoonIcon } from './src/icons/on-off/moon-icon/index.js';
187
- export { SunIcon } from './src/icons/on-off/sun-icon/index.js';
188
- export { OverviewIcon } from './src/icons/overview/overview-icon/index.js';
189
- export { ServiceMapIcon } from './src/icons/overview/service-map-icon/index.js';
190
- export { TraceViewIcon } from './src/icons/overview/trace-view-icon/index.js';
191
- export { ActionsIcon } from './src/icons/overview/actions-icon/index.js';
192
- export { DestinationsIcon } from './src/icons/overview/destinations-icon/index.js';
193
- export { RulesIcon } from './src/icons/overview/rules-icon/index.js';
194
- export { SourcesIcon } from './src/icons/overview/sources-icon/index.js';
195
- export { SlackLogo } from './src/icons/social/slack-logo/index.js';
196
- export { CheckCircledIcon } from './src/icons/status/check-circled-icon/index.js';
197
- export { CheckIcon } from './src/icons/status/check-icon/index.js';
198
- export { CrossCircledIcon } from './src/icons/status/cross-circled-icon/index.js';
199
- export { CrossIcon } from './src/icons/status/cross-icon/index.js';
200
- export { ErrorRoundIcon } from './src/icons/status/error-round-icon/index.js';
201
- export { ErrorTriangleIcon } from './src/icons/status/error-triangle-icon/index.js';
202
- export { InfoIcon } from './src/icons/status/info-icon/index.js';
203
- export { WarningTriangleIcon } from './src/icons/status/warning-triangle-icon/index.js';
204
- export { useDarkMode } from './src/store/useDarkMode.js';
205
- export { useDrawerStore } from './src/store/useDrawerStore.js';
206
- export { useEntityStore } from './src/store/useEntityStore.js';
207
- export { useFilterStore } from './src/store/useFilterStore.js';
208
- export { useInstrumentStore } from './src/store/useInstrumentStore.js';
209
- export { useModalStore } from './src/store/useModalStore.js';
210
- export { useNotificationStore } from './src/store/useNotificationStore.js';
211
- export { usePendingStore } from './src/store/usePendingStore.js';
212
- export { useSelectedStore } from './src/store/useSelectedStore.js';
213
- export { useSetupStore } from './src/store/useSetupStore.js';
214
- import 'react';
215
- import 'styled-components';
216
- import './src/theme/provider/globals.css.js';
217
- import './src/theme/animations/index.js';
218
- export { ACTION_TYPE } from './src/types/actions/index.js';
219
- export { CRD_TYPES, CRUD, ENTITY_TYPES, FIELD_TYPES, NOTIFICATION_TYPE, OTHER_STATUS, PLATFORM_TYPE, PROGRAMMING_LANGUAGES, TIER } from './src/types/common/index.js';
220
- export { ADD_NODE_TYPES, EDGE_TYPES, NODE_TYPES } from './src/types/data-flow/index.js';
221
- export { CODE_ATTRIBUTES_KEY_TYPES, INSTRUMENTATION_RULE_TYPE, PAYLOAD_COLLECTION_KEY_TYPES } from './src/types/instrumentation-rules/index.js';
222
- export { SIGNAL_TYPE } from './src/types/signals/index.js';
223
- export { K8S_RESOURCE_KIND } from './src/types/sources/index.js';
224
- export { ToggleCodeComponent } from './src/components/code/toggle-code-component/index.js';
225
- export { DATA_CARD_FIELD_TYPES, DataCardFields } from './src/components/data-card/data-card-fields/index.js';
226
- export { DrawerHeader } from './src/components/drawer/drawer-header/index.js';
227
- export { DrawerFooter } from './src/components/drawer/drawer-footer/index.js';
228
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}