@erpsquad/common 1.8.48 → 1.8.50

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 (44) hide show
  1. package/dist/_virtual/extends/index.esm.js +4 -2
  2. package/dist/_virtual/extends/index.esm.js.map +1 -1
  3. package/dist/_virtual/extends/index.js +1 -1
  4. package/dist/components/index.d.ts +99 -1
  5. package/dist/index.esm.js +8 -12
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/node_modules/@mui/system/createStyled/index.esm.js +4 -4
  9. package/dist/node_modules/@mui/system/createStyled/index.esm.js.map +1 -1
  10. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  11. package/dist/node_modules/@mui/system/createStyled/index.js.map +1 -1
  12. package/dist/redux/index.d.ts +0 -1
  13. package/dist/redux/index.esm.js +0 -5
  14. package/dist/redux/index.esm.js.map +1 -1
  15. package/dist/redux/index.js +1 -1
  16. package/dist/src/redux/index.d.ts +0 -1
  17. package/dist/src/views/afterAuth/page-view/redux/reducer.d.ts +2 -1
  18. package/dist/style.css +68 -68
  19. package/dist/views/afterAuth/dashboard/redux/reducer/index.esm.js +4 -0
  20. package/dist/views/afterAuth/dashboard/redux/reducer/index.esm.js.map +1 -1
  21. package/dist/views/afterAuth/dashboard/redux/reducer/index.js +1 -1
  22. package/dist/views/afterAuth/dashboard/redux/reducer/index.js.map +1 -1
  23. package/dist/views/afterAuth/page-view/page-view/index.esm.js +4 -4
  24. package/dist/views/afterAuth/page-view/page-view/index.esm.js.map +1 -1
  25. package/dist/views/afterAuth/page-view/page-view/index.js +2 -2
  26. package/dist/views/afterAuth/page-view/page-view/index.js.map +1 -1
  27. package/dist/views/afterAuth/page-view/redux/reducer/index.esm.js +6 -6
  28. package/dist/views/afterAuth/page-view/redux/reducer/index.esm.js.map +1 -1
  29. package/dist/views/afterAuth/page-view/redux/reducer/index.js +1 -1
  30. package/dist/views/afterAuth/page-view/redux/reducer/index.js.map +1 -1
  31. package/dist/views/afterAuth/page-view/redux/reducer.d.ts +2 -1
  32. package/dist/views/form-builder/redux/reducer/index.esm.js +2 -3
  33. package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -1
  34. package/dist/views/form-builder/redux/reducer/index.js +1 -1
  35. package/dist/views/form-builder/redux/reducer/index.js.map +1 -1
  36. package/dist/views/index.esm.js +10 -6
  37. package/dist/views/index.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/node_modules/@babel/runtime/helpers/extends/index.esm.js +0 -23
  40. package/dist/node_modules/@babel/runtime/helpers/extends/index.esm.js.map +0 -1
  41. package/dist/node_modules/@babel/runtime/helpers/extends/index.js +0 -2
  42. package/dist/node_modules/@babel/runtime/helpers/extends/index.js.map +0 -1
  43. package/dist/redux/toolkit.d.ts +0 -1
  44. package/dist/src/redux/toolkit.d.ts +0 -1
@@ -1,5 +1,7 @@
1
- var _extends = { exports: {} };
1
+ import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
+ import * as _extends from "../../node_modules/@babel/runtime/helpers/esm/extends/index.esm.js";
3
+ var require$$1 = /* @__PURE__ */ getAugmentedNamespace(_extends);
2
4
  export {
3
- _extends as __module
5
+ require$$1 as default
4
6
  };
5
7
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__module={exports:{}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@babel/runtime/helpers/esm/extends/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,108 +1,206 @@
1
1
  // Component exports
2
2
  export { default as Accordion } from './accordion/accordion';
3
+ export * from './accordion/accordion';
3
4
  export { default as ActionBar } from './action-bar/action-bar';
5
+ export * from './action-bar/action-bar';
4
6
  export { default as ActivityTag } from './activity-tag/activity-tag';
7
+ export * from './activity-tag/activity-tag';
5
8
  export { default as ActivityArea } from './activityArea/activityArea';
9
+ export * from './activityArea/activityArea';
6
10
  export { default as ActivityLog } from './activityLog/activity-log';
11
+ export * from './activityLog/activity-log';
7
12
  export { default as Alert } from './alert/alert';
13
+ export * from './alert/alert';
8
14
  export { default as AppBar } from './appbar/appbar';
15
+ export * from './appbar/appbar';
9
16
  export { default as ApprovalWrapper } from './approval-wrapper/approval-wrapper';
17
+ export * from './approval-wrapper/approval-wrapper';
10
18
  export { default as Avatar } from './avatar/avatar';
19
+ export * from './avatar/avatar';
11
20
  export { default as Board } from './board/board';
21
+ export * from './board/board';
12
22
  export { default as BreadCrumb } from './bread-crumb/bread-crumb';
23
+ export * from './bread-crumb/bread-crumb';
13
24
  export { default as Button } from './button/button';
25
+ export * from './button/button';
14
26
  export { default as CalculationSummary } from './calculation-summary/calculation-summary';
27
+ export * from './calculation-summary/calculation-summary';
15
28
  export { default as Calendar } from './calendar/calendar';
29
+ export * from './calendar/calendar';
16
30
  export { default as CardWrapper } from './card-wrapper/card-wrapper';
31
+ export * from './card-wrapper/card-wrapper';
17
32
  export { default as ChangeUserPasswordModal } from './change-user-password-modal/change-user-password-modal';
33
+ export * from './change-user-password-modal/change-user-password-modal';
18
34
  export { default as Checkbox } from './checkbox/checkbox';
35
+ export * from './checkbox/checkbox';
19
36
  export { default as Chip } from './chip/chip';
37
+ export * from './chip/chip';
20
38
  export { default as ChipGenerator } from './chip-generator/chip-generator';
39
+ export * from './chip-generator/chip-generator';
21
40
  export { default as ColorPickerInput } from './color-picker-input/color-picker-input';
41
+ export * from './color-picker-input/color-picker-input';
22
42
  export { default as ConfirmModal } from './confirm-modal/confirm-modal';
43
+ export * from './confirm-modal/confirm-modal';
23
44
  export { default as CountrySelect } from './country-select/country-select';
24
45
  export { default as CustomSnackbar } from './custom-snackbar/custom-snackbar';
46
+ export * from './custom-snackbar/custom-snackbar';
25
47
  export { default as CustomToggleSwitch } from './custom-toggle-switch/custom-toggle-switch';
48
+ export * from './custom-toggle-switch/custom-toggle-switch';
26
49
  export { default as DashboardCard } from './Dashboard/dashboard-card';
50
+ export * from './Dashboard/dashboard-card';
27
51
  export { default as DashboardHeader } from './Dashboard/dashboard-header';
52
+ export * from './Dashboard/dashboard-header';
28
53
  export { default as DatePicker } from './date-picker/date-picker';
29
54
  export { default as DateRangePicker } from './date-range-picker/date-range-picker';
55
+ export * from './date-range-picker/date-range-picker';
30
56
  export { default as DateTimePicker } from './date-time-picker/date-time-picker';
57
+ export * from './date-time-picker/date-time-picker';
31
58
  export { default as DropdownButton } from './dropdown-button/dropdown-button';
59
+ export * from './dropdown-button/dropdown-button';
32
60
  export { default as DynamicLayoutWrapper } from './dynamic-layout-wrapper/dynamic-layout-wrapper';
61
+ export * from './dynamic-layout-wrapper/dynamic-layout-wrapper';
33
62
  export { default as DynamicModal } from './dynamic-modal';
63
+ export * from './dynamic-modal';
34
64
  export { default as Editor } from './editor/custom-editor';
65
+ export * from './editor/custom-editor';
35
66
  export { default as EntityViewWrapper } from './entity-view-wrapper/entity-view-wrapper';
67
+ export * from './entity-view-wrapper/entity-view-wrapper';
36
68
  export { default as ExpandableSummaryWrapper } from './expandable-summary-wrapper/expandable-summary-wrapper';
69
+ export * from './expandable-summary-wrapper/expandable-summary-wrapper';
37
70
  export { default as Fallback } from './fallback/fallback';
71
+ export * from './fallback/fallback';
38
72
  export { default as Filter } from './filter/filter';
73
+ export * from './filter/filter';
39
74
  export { default as Footer } from './footer/footer';
40
75
  export { default as FormHeader } from './form-header/form-header';
76
+ export * from './form-header/form-header';
41
77
  export { default as Gantt } from './gantt/gantt';
78
+ export * from './gantt/gantt';
42
79
  export { default as GridFallback } from './grid-fallback/grid-fallback';
43
80
  export { default as HeaderCard } from './header-card/header-card';
81
+ export * from './header-card/header-card';
44
82
  export { default as HrLine } from './hr-line/hr-line';
83
+ export * from './hr-line/hr-line';
45
84
  export { default as InfoCard } from './info-card/info-card';
85
+ export * from './info-card/info-card';
46
86
  export { default as InventoryReportsTitleBar } from './inventory-reports-title-bar/inventory-reports-title-bar';
87
+ export * from './inventory-reports-title-bar/inventory-reports-title-bar';
47
88
  export { default as List } from './list/list';
89
+ export * from './list/list';
48
90
  export { default as Loader } from './loader';
91
+ export * from './loader';
49
92
  export { default as LocationSelect } from './location-select';
93
+ export * from './location-select';
50
94
  export { default as MaterialTable, type MaterialTableColumnProps, type MaterialTableColumnHeaderProps, type TypeBooleanLabels } from './material-table/material-table';
95
+ export * from './material-table/material-table';
51
96
  export { default as MaterialEditableTable, type MaterialEditableTableColumnProps, type MaterialEditableTableColumnHeaderProps } from './material-editable-table/material-editable-table';
97
+ export * from './material-editable-table/material-editable-table';
52
98
  export { default as Menu } from './menu/menu';
99
+ export * from './menu/menu';
53
100
  export { default as Modal } from './modal/modal';
101
+ export * from './modal/modal';
54
102
  export { default as ModuleButton } from './module-button/module-button';
103
+ export * from './module-button/module-button';
55
104
  export { default as Multiline } from './mulitline/multiline';
105
+ export * from './mulitline/multiline';
56
106
  export { default as MultiSelect } from './multi-select/multi-select';
107
+ export * from './multi-select/multi-select';
57
108
  export { default as PageNavigator } from './page-navigator/page-navigator';
109
+ export * from './page-navigator/page-navigator';
58
110
  export { default as AddPage } from './page-navigator/components/add-page';
111
+ export * from './page-navigator/components/add-page';
59
112
  export { default as AddPageModal } from './page-navigator/components/add-page-modal';
113
+ export * from './page-navigator/components/add-page-modal';
60
114
  export { default as PageAction } from './page-navigator/components/page-action';
115
+ export * from './page-navigator/components/page-action';
61
116
  export { default as SharedPageModal } from './page-navigator/components/shared-page-modal';
117
+ export * from './page-navigator/components/shared-page-modal';
62
118
  export { default as SharedPageView } from './page-navigator/components/shared-page-view';
119
+ export * from './page-navigator/components/shared-page-view';
63
120
  export { default as Pagination } from './pagination/pagination';
121
+ export * from './pagination/pagination';
64
122
  export { default as PartiesModal } from './parties-modal/parties-modal';
123
+ export * from './parties-modal/parties-modal';
65
124
  export { default as PhoneInput } from './phone-input/phone-input';
125
+ export * from './phone-input/phone-input';
66
126
  export { default as ProtectedRoute } from './protected-route';
127
+ export * from './protected-route';
67
128
  export { default as QuickApprovalModal } from './quick-approval-modal/quick-approval-modal';
129
+ export * from './quick-approval-modal/quick-approval-modal';
68
130
  export { default as Radio } from './radio/radio';
131
+ export * from './radio/radio';
69
132
  export { default as ReportsTitleBar } from './reports-title-bar/reports-title-bar';
133
+ export * from './reports-title-bar/reports-title-bar';
70
134
  export { default as ResetPasswordModal } from './reset-password-modal/reset-password-modal';
71
135
  export { default as RfqResponse } from './rfq-response/item-response-details';
136
+ export * from './rfq-response/item-response-details';
72
137
  export { default as SaveFilterModal } from './save-filter-modal/save-filter-modal';
138
+ export * from './save-filter-modal/save-filter-modal';
73
139
  export { default as ScheduleReport } from './schedule-report/schedule-report';
74
140
  export { default as ScheduleReportModal } from './schedule-report/schedule-report-modal';
141
+ export * from './schedule-report/schedule-report-modal';
75
142
  export { default as SearchBar } from './search-bar/search-bar';
143
+ export * from './search-bar/search-bar';
76
144
  export { default as SearchableSelect } from './searchable-select';
145
+ export * from './searchable-select';
77
146
  export { default as Select } from './select/select';
147
+ export * from './select/select';
78
148
  export { default as ShareModal } from './share-modal/share-modal';
149
+ export * from './share-modal/share-modal';
79
150
  export { default as Sidebar } from './sidebar/sidebar';
151
+ export * from './sidebar/sidebar';
80
152
  export { default as Snackbar } from './snackbar/snackbar';
153
+ export * from './snackbar/snackbar';
81
154
  export { default as SubHeaderDoc } from './sub-header-doc/sub-header-doc';
155
+ export * from './sub-header-doc/sub-header-doc';
82
156
  export { default as AndroidSwitch } from './switches/android-12-switch';
157
+ export * from './switches/android-12-switch';
83
158
  export { default as TabBarUI } from './tab-bar-ui/tab-bar-ui';
159
+ export * from './tab-bar-ui/tab-bar-ui';
84
160
  export { default as Tabs } from './tabs/tabs';
161
+ export * from './tabs/tabs';
85
162
  export { default as TextArea } from './text-area/text-area';
163
+ export * from './text-area/text-area';
86
164
  export { default as TextField } from './text-field/text-field';
165
+ export * from './text-field/text-field';
87
166
  export { default as TimePicker } from './time-picker/time-picker';
167
+ export * from './time-picker/time-picker';
88
168
  export { default as TimeRangePicker } from './time-range-picker/time-range-picker';
169
+ export * from './time-range-picker/time-range-picker';
89
170
  export { default as TitleDropdownButton } from './title-dropdown-button/title-dropdown-button';
171
+ export * from './title-dropdown-button/title-dropdown-button';
90
172
  export { default as Toast } from './toast/toast';
173
+ export * from './toast/toast';
91
174
  export { default as Toggle } from './toggle/toggle';
175
+ export * from './toggle/toggle';
92
176
  export { default as ToggleSwitch } from './toggle-switch/toggle-switch';
177
+ export * from './toggle-switch/toggle-switch';
93
178
  export { default as Tooltip } from './tooltip/Tooltip';
179
+ export * from './tooltip/Tooltip';
94
180
  export { default as Typography } from './typography/typography';
181
+ export * from './typography/typography';
95
182
  export { default as Upload } from './upload/upload';
183
+ export * from './upload/upload';
96
184
  export { default as UploadExcel } from './upload-excel/upload-excel';
185
+ export * from './upload-excel/upload-excel';
97
186
  export { default as UploadMedia } from './upload-media/upload-media';
187
+ export * from './upload-media/upload-media';
98
188
  export { default as UserDropdown } from './user-dropdown/user-dropdown';
189
+ export * from './user-dropdown/user-dropdown';
99
190
  export { default as ValueField } from './value-field/value-field';
191
+ export * from './value-field/value-field';
100
192
  export { default as ViewModal } from './view-modal/view-modal';
193
+ export * from './view-modal/view-modal';
101
194
  export { default as ControllerSelect } from './select/controller/controller-select';
102
- export { default as ganttData } from './gantt/gantt'
195
+ export * from './select/controller/controller-select';
196
+ export { default as ganttData } from './gantt/gantt';
197
+ export * from './gantt/gantt';
103
198
  export { default as DefaultAggregation } from './material-table/components/default-aggregation';
199
+ export * from './material-table/components/default-aggregation';
104
200
  export { default as LabelValue } from './label-value/label-value';
201
+ export * from './label-value/label-value';
105
202
  export { default as Listing } from './listing/listing';
203
+ export * from './listing/listing';
106
204
 
107
205
  export * from './filter/fields';
108
206
  // Icon exports
package/dist/index.esm.js CHANGED
@@ -461,8 +461,6 @@ import { API_METHOD_GROUPS, createConfiguredApiClient, validateApiClient } from
461
461
  import { useAppDispatch, useAppSelector, useLibraryDispatch, useLibrarySelector } from "./redux/hooks/index.esm.js";
462
462
  import { createModuleSlice } from "./redux/module-reducer/index.esm.js";
463
463
  import { createLibraryStore, getLibrarySlices, libraryReducers } from "./redux/store/index.esm.js";
464
- export * from "@reduxjs/toolkit";
465
- import { changeCurrentPage, originalGrid, setCompanies, setError, setLoading, setPages } from "@reduxjs/toolkit";
466
464
  import { default as default179, resetHeaderState, resetLanguagesState, setCurrentLanguage, setLanguages, setLanguagesData } from "./redux/slices/headerSlice/index.esm.js";
467
465
  import { fetchBom, default as default180, resetInventoryReportsTitleBarState, setAssemblyItems, setBomData, setItems, setWarehouseLocations } from "./redux/slices/inventoryReportsTitleBarSlice/index.esm.js";
468
466
  import { fetchCompanies, default as default181, resetReportsTitleBarState } from "./redux/slices/reportsTitleBarSlice/index.esm.js";
@@ -483,10 +481,9 @@ import * as apiTypes_d$6 from "./api-client/api.sales/api-types.d/index.esm.js";
483
481
  import * as apiTypes_d$7 from "./api-client/api.system-feature/api-types.d/index.esm.js";
484
482
  import * as api$9 from "./api-client/api.user/api/index.esm.js";
485
483
  import * as apiTypes_d$8 from "./api-client/api.user/api-types.d/index.esm.js";
486
- import { dashBoardDrive, default as default183, pinToDashboardList, setGrid, setSharedPage, setUserName } from "./views/afterAuth/dashboard/redux/reducer/index.esm.js";
484
+ import { changeCurrentPage, dashBoardDrive, default as default183, pinToDashboardList, setGrid, setPages, setSharedPage, setUserName } from "./views/afterAuth/dashboard/redux/reducer/index.esm.js";
487
485
  import { UsersFetchAction, pinToDashboardAction, setPagesAction, setSharedPageAction, setUserNameAction, setdashboardDriveData } from "./views/afterAuth/dashboard/redux/actionCreator/index.esm.js";
488
- import { default as default184, setFormData, setPaginationModel } from "./views/form-builder/redux/reducer/index.esm.js";
489
- import { default as default185, setColumnOrder, setRowData } from "./views/afterAuth/page-view/redux/reducer/index.esm.js";
486
+ import { pageViewChangeCurrentPage, default as default184, setColumnOrder, setPageViewPages, setPageViewPaginationModel, setRowData } from "./views/afterAuth/page-view/redux/reducer/index.esm.js";
490
487
  import { fetchPage } from "./views/afterAuth/page-view/redux/actionCreator/index.esm.js";
491
488
  import { defaultData } from "./views/afterAuth/page-view/utils/default-data/index.esm.js";
492
489
  import { local } from "./views/afterAuth/page-view/utils/local-data/index.esm.js";
@@ -504,6 +501,7 @@ import { userData } from "./views/beforeAuth/components/user-dropdown-data/user-
504
501
  import { ForgotPassword } from "./views/beforeAuth/forgot-password/forgot-password/index.esm.js";
505
502
  import { ResetPassword } from "./views/beforeAuth/reset-password/reset-password/index.esm.js";
506
503
  import { element } from "./views/form-builder/field_properties/index.esm.js";
504
+ import { default as default185, setFormData } from "./views/form-builder/redux/reducer/index.esm.js";
507
505
  import { getFieldsByFormId, getFormDataById, patchFormDataById } from "./views/form-builder/redux/actionCreator/index.esm.js";
508
506
  import { createDefaultTableColumns, extractSections, generateModulePath, processMembers, processTableColumns, useFormDataEffect, useFormDataProcessor } from "./views/form-builder/utils/common/index.esm.js";
509
507
  import { templateEditorRoutes } from "./views/template-editor/routes/index.esm.js";
@@ -1067,7 +1065,7 @@ export {
1067
1065
  findById,
1068
1066
  formBuilderConversion,
1069
1067
  formBuilderDeConversion,
1070
- default184 as formBuilderListSlice,
1068
+ default185 as formBuilderListSlice,
1071
1069
  formatAmount,
1072
1070
  formatAmountWithCurrency,
1073
1071
  formatAmountWithCurrencyData,
@@ -1158,8 +1156,8 @@ export {
1158
1156
  navigateToRouteWithId,
1159
1157
  navigateWithId,
1160
1158
  omitDataKeys,
1161
- originalGrid,
1162
- default185 as pageViewSlice,
1159
+ pageViewChangeCurrentPage,
1160
+ default184 as pageViewSlice,
1163
1161
  partyDuplicateCheck,
1164
1162
  partyEmailIds,
1165
1163
  pastDateValidation,
@@ -1191,20 +1189,18 @@ export {
1191
1189
  setAssemblyItems,
1192
1190
  setBomData,
1193
1191
  setColumnOrder,
1194
- setCompanies,
1195
1192
  setCurrentLanguage,
1196
1193
  setDepartments,
1197
1194
  setBaseUrl2 as setDriveURL,
1198
- setError,
1199
1195
  setFormData,
1200
1196
  setGrid,
1201
1197
  setItems,
1202
1198
  setLanguages,
1203
1199
  setLanguagesData,
1204
- setLoading,
1200
+ setPageViewPages,
1201
+ setPageViewPaginationModel,
1205
1202
  setPages,
1206
1203
  setPagesAction,
1207
- setPaginationModel,
1208
1204
  setRateBasedOnPriceRules,
1209
1205
  setBaseUrl as setRoleURL,
1210
1206
  setRowData,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}