@bryntum/scheduler-thin-trial 7.1.1 → 7.1.3

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 (69) hide show
  1. package/README.md +284 -20
  2. package/lib/crud/AbstractCrudManagerMixin.js +1 -1
  3. package/lib/crud/mixin/AbstractCrudManagerValidation.js +1 -1
  4. package/lib/crud/mixin/CrudManagerView.js +1 -1
  5. package/lib/crud/transport/AjaxTransport.js +1 -1
  6. package/lib/data/mixin/AssignmentStoreMixin.js +1 -1
  7. package/lib/data/mixin/ProjectConsumer.js +1 -1
  8. package/lib/eventlayout/HorizontalLayoutStack.js +1 -1
  9. package/lib/feature/AbstractTimeRanges.js +1 -1
  10. package/lib/feature/Dependencies.css +1 -1
  11. package/lib/feature/DependencyEdit.js +1 -1
  12. package/lib/feature/EventDrag.js +1 -1
  13. package/lib/feature/EventMenu.js +1 -1
  14. package/lib/feature/EventResize.js +1 -1
  15. package/lib/feature/Pan.css +3 -0
  16. package/lib/feature/Pan.js +1 -1
  17. package/lib/feature/ScheduleTooltip.js +1 -1
  18. package/lib/feature/ScrollButtons.css +4 -1
  19. package/lib/feature/ScrollButtons.js +1 -1
  20. package/lib/feature/SimpleEventEdit.js +1 -1
  21. package/lib/feature/Summary.js +1 -1
  22. package/lib/feature/TimeRanges.css +1 -2
  23. package/lib/feature/TimeRanges.js +1 -1
  24. package/lib/feature/TimeSelection.js +1 -1
  25. package/lib/feature/TimelineSummary.js +1 -1
  26. package/lib/feature/base/DragBase.js +1 -1
  27. package/lib/feature/base/EditBase.js +1 -1
  28. package/lib/feature/base/ResourceTimeRangesBase.js +1 -1
  29. package/lib/feature/mixin/DependencyCreation.js +1 -1
  30. package/lib/localization/En.js +1 -1
  31. package/lib/model/DependencyBaseModel.js +1 -1
  32. package/lib/model/mixin/AssignmentModelMixin.js +1 -1
  33. package/lib/model/mixin/EventModelMixin.js +1 -1
  34. package/lib/model/mixin/ProjectModelCommon.js +1 -1
  35. package/lib/model/mixin/RecurringTimeSpan.js +1 -1
  36. package/lib/model/mixin/ResourceModelMixin.js +1 -1
  37. package/lib/preset/ViewPreset.js +1 -1
  38. package/lib/util/RectangularPathFinder.js +1 -1
  39. package/lib/view/EventStyles.css +46 -0
  40. package/lib/view/HorizontalTimeAxis.css +5 -5
  41. package/lib/view/SchedulerBase.css +6 -0
  42. package/lib/view/SchedulerBase.js +1 -1
  43. package/lib/view/TimeAxisSubGrid.js +1 -1
  44. package/lib/view/TimelineBase.js +1 -1
  45. package/lib/view/TimelineHistogramBase.js +1 -1
  46. package/lib/view/VerticalTimeAxis.js +1 -1
  47. package/lib/view/export/SchedulerExportDialog.js +1 -1
  48. package/lib/view/mixin/SchedulerEventRendering.css +24 -10
  49. package/lib/view/mixin/SchedulerEventRendering.js +1 -1
  50. package/lib/view/mixin/SchedulerScroll.js +1 -1
  51. package/lib/view/mixin/SchedulerStores.js +1 -1
  52. package/lib/view/mixin/TimelineEventRendering.js +1 -1
  53. package/lib/view/mixin/TimelineHistogramGrouping.js +1 -1
  54. package/lib/view/mixin/TimelineScroll.js +1 -1
  55. package/lib/view/mixin/TimelineViewPresets.js +1 -1
  56. package/lib/view/model/TimeAxisViewModel.js +1 -1
  57. package/lib/view/orientation/HorizontalRendering.js +1 -1
  58. package/lib/view/orientation/VerticalRendering.js +1 -1
  59. package/lib/view/recurrence/RecurrenceConfirmationPopup.js +1 -1
  60. package/lib/view/recurrence/RecurrenceEditor.js +1 -1
  61. package/lib/widget/ProjectCombo.js +1 -1
  62. package/lib/widget/ResourceCombo.js +1 -1
  63. package/lib/widget/ResourceFilter.js +1 -1
  64. package/locales/scheduler.locale.En.js +1 -1
  65. package/package.json +1 -1
  66. package/postinstall.cjs +4 -5
  67. package/scheduler.css +56 -7
  68. package/scheduler.css.map +3 -3
  69. package/scheduler.d.ts +856 -480
package/README.md CHANGED
@@ -1,52 +1,316 @@
1
- # Bryntum Scheduler Thin Trial
1
+ <br>
2
+ <br>
2
3
 
3
- Bryntum Scheduler is a full featured resource scheduler with support for a big amount of features.
4
- This package is designed for combining multiple Bryntum products with thin framework wrappers for Bryntum Scheduler.
5
- Please refer to the Bryntum Scheduler documentation.
4
+ <p align="center">
5
+ <a href="https://bryntum.com/" rel="noopener" target="_blank"><img width="350" src="https://bryntum.com/resources/bryntum_logo_blue.svg" alt="Bryntum logo"></a>
6
+ </p>
6
7
 
7
- It integrates seamlessly with React, Vue, Angular, or plain vanilla JS.
8
+ <br>
9
+
10
+ # Bryntum Scheduler Thin (Trial)
11
+
12
+ Bryntum Scheduler is a full-featured resource scheduler supporting a wide range of functionality.. It integrates smoothly with React, Vue, Angular, or plain vanilla JS.
8
13
 
9
14
  For more information about all features, visit the [Bryntum Scheduler site](https://bryntum.com/products/scheduler/).
10
15
 
11
- # Bryntum repository access setup
16
+ <p align="center">
17
+ <img src="https://bryntum.com/products/scheduler/examples/meta/thumb.2048.png" alt="Bryntum Scheduler Screenshot" width="600">
18
+ </p>
19
+
20
+ ## What is the Thin Package?
21
+
22
+ The **Thin package** contains only product-specific code and styling, making it ideal for:
23
+
24
+ * **Combining multiple Bryntum products** in a single application
25
+ * **Reducing bundle size** - no duplicated code when using multiple products
26
+ * **Avoiding runtime conflicts** - prevents duplicate class registrations
27
+
28
+ ### Thin vs Regular Package
29
+
30
+ | Package Type | Contains | Best For |
31
+ |------------------------------------|-----------------------------------------------------------------------|--------------------------------------------------------|
32
+ | **Regular** (`@bryntum/scheduler`) | Product + all dependencies<br/>(e.g., Scheduler includes Grid + Core) | Single product apps |
33
+ | **Thin** (`@bryntum/scheduler-thin`) | Product-specific code only | Multiple product apps or optimized single product apps |
34
+
35
+ ### When to Use Thin Package?
36
+
37
+ **Use Thin if:**
38
+
39
+ - Combining multiple Bryntum products (e.g., Grid + Scheduler + Gantt)
40
+ - Using thin framework wrappers (`@bryntum/scheduler-react-thin`)
41
+ - Want smallest possible bundle size
42
+ - Building with modern build tools (Webpack 5+, Vite, Rollup)
43
+
44
+ **Use Regular if:**
12
45
 
13
- This npm package requires access to the private Bryntum npm repository. You must be logged in to this repository as a
14
- licensed or trial user to access it.
46
+ - Building a single product application with standard setup
47
+ - Using direct `<script>` tag inclusion
48
+ - Prefer simpler dependency management
15
49
 
16
- Please check the [Online npm repository guide](https://bryntum.com/products/scheduler/docs/guide/Scheduler/npm-repository) for
17
- detailed information on the sign-up/login process.
50
+ ## Highlights
18
51
 
19
- # Installation
52
+ * Resource-aware scheduling with horizontal timeline or vertical [day-view layouts](https://bryntum.com/products/scheduler/examples/vertical)
53
+ * Powerful [drag-and-drop](https://bryntum.com/products/scheduler/examples/dragfromgrid) resizing and dragging from external sources like grids
54
+ * [Virtual rendering](https://bryntum.com/products/scheduler/examples/bigdataset) handles massive datasets efficiently with only visible content in DOM
55
+ * [Event dependencies](https://bryntum.com/products/scheduler/examples/dependencies) visualize task relationships with dependency lines
56
+ * Export to [PDF/PNG](https://bryntum.com/products/scheduler/examples/export), [Excel](https://bryntum.com/products/scheduler/examples/exporttoexcel), ICS calendar files, or print formats
57
+ * [Group and summarize](https://bryntum.com/products/scheduler/examples/groupsummary) events by resource properties with custom aggregations
58
+ * [Tree resource structure](https://bryntum.com/products/scheduler/examples/tree-summary) displays hierarchical resources with parent/child relationships
59
+ * [Merge overlapping events](https://bryntum.com/products/scheduler/examples/merge-cells) automatically combines adjacent events for cleaner displays
60
+ * [Fully responsive](https://bryntum.com/products/scheduler/examples/responsive) with configurable breakpoints for any screen size
61
+ * [Custom event rendering](https://bryntum.com/products/scheduler/examples/custom-event-rendering) controls appearance with renderers and templates
62
+ * Multiple built-in themes or [create your own](https://bryntum.com/products/scheduler/examples/custom-theme) using CSS variables
63
+ * [React](https://bryntum.com/products/scheduler/examples/?framework=react), [Vue](https://bryntum.com/products/scheduler/examples/?framework=vue), and [Angular](https://bryntum.com/products/scheduler/examples/?framework=angular) wrappers with native framework patterns
20
64
 
21
- The installation is performed by issuing the installation command in the root of the application folder. The specific
22
- command depends on the package manager used by the application.
65
+ ## Package Contents
23
66
 
24
- The following are most frequently used:
67
+ | Path | Description |
68
+ |---------------------------------------|------------------------------------------------|
69
+ | `scheduler.module.js`, `scheduler.umd.js` | JavaScript bundles (ES module and UMD formats) |
70
+ | `scheduler.css` | Structural CSS (required) |
71
+ | `*.d.ts` | TypeScript type definitions |
72
+ | `*.css` | Theme stylesheets |
73
+
74
+ **Note:** Trial packages do not include minified bundles or source maps.
75
+
76
+ ## Supported Versions
77
+
78
+ * [NodeJS](https://nodejs.org/en): `>= 20.0.0`
79
+ * [TypeScript](https://www.typescriptlang.org/): `>= 3.6.0`
80
+ * [Angular](https://angularjs.org/): `>= 9.0.0`
81
+ * [React](https://react.dev/): `>= 16.0.0`
82
+ * [Vue](https://vuejs.org/): `>= 3.0.0`
83
+ * [Ionic](https://ionicframework.com/): `>= 5.0.0`
84
+ * [Vite](https://vite.dev/): `>= 4.0.0`
85
+ * [Webpack](https://webpack.js.org/): `>= 4.0.0`
86
+
87
+ ## Try Bryntum Online Demos
88
+
89
+ Explore our comprehensive collection of demos:
90
+
91
+ * [View Online Demos](https://bryntum.com/products/scheduler/examples/)
92
+ * [JavaScript Demos](https://bryntum.com/products/scheduler/examples/?framework=javascript)
93
+ * [React Demos](https://bryntum.com/products/scheduler/examples/?framework=react)
94
+ * [Vue Demos](https://bryntum.com/products/scheduler/examples/?framework=vue)
95
+ * [Angular Demos](https://bryntum.com/products/scheduler/examples/?framework=angular)
96
+
97
+ ## Installation
98
+
99
+ This is a **trial package** with limited functionality.
100
+
101
+ ### Why Use npm Aliasing?
102
+
103
+ Trial packages use npm aliasing to install `@bryntum/scheduler-thin-trial` under the `@bryntum/scheduler-thin` name. This
104
+ approach provides a seamless upgrade path - when you purchase a license, you only need to update the alias in
105
+ `package.json` without changing any application code.
25
106
 
26
107
  Install using `npm`:
27
108
 
28
109
  ```shell
29
- npm install @bryntum/scheduler-thin@npm:bryntum/scheduler-thin-trial
110
+ npm install @bryntum/scheduler-thin@npm:@bryntum/scheduler-thin-trial@latest
30
111
  ```
31
112
 
32
- Install using `yarn`:
113
+ Or using `yarn`:
33
114
 
34
115
  ```shell
35
- yarn add @bryntum/scheduler-thin@npm:bryntum/scheduler-thin-trial
116
+ yarn add @bryntum/scheduler-thin@npm:@bryntum/scheduler-thin-trial@latest
36
117
  ```
37
118
 
38
- # Online references
119
+ Alternatively, add to `package.json` dependencies:
120
+
121
+ ```json
122
+ "dependencies": {
123
+ "@bryntum/scheduler-thin": "npm:@bryntum/scheduler-thin-trial@latest"
124
+ }
125
+ ```
126
+
127
+ Visit our [npm repository guide](https://bryntum.com/products/scheduler/docs/guide/Scheduler/npm-repository) to learn more about installation and migrating from
128
+ trial to licensed packages.
129
+
130
+ ## Combining Multiple Products
131
+
132
+ When combining multiple Bryntum products, install all needed thin packages with aliasing:
133
+
134
+ ```shell
135
+ # Example: Using Grid and Scheduler together
136
+ npm install @bryntum/grid-thin@npm:@bryntum/grid-thin-trial@latest
137
+ npm install @bryntum/scheduler-thin@npm:@bryntum/scheduler-thin-trial@latest
138
+ npm install @bryntum/scheduler-react-thin@latest
139
+ ```
140
+
141
+ ## Required Dependencies
142
+
143
+ Thin packages contain only product-specific code and **do not automatically install dependencies**. You must manually
144
+ install all required API packages for the underlying products.
145
+
146
+ ### API Packages (Required)
147
+
148
+ ```json
149
+ {
150
+ "dependencies": {
151
+ "@bryntum/core-thin": "latest",
152
+ "@bryntum/engine-thin": "latest",
153
+ "@bryntum/grid-thin": "latest",
154
+ "@bryntum/scheduler-thin": "latest"
155
+ }
156
+ }
157
+ ```
158
+
159
+ ### Dependency Chain Overview
160
+
161
+ The following table shows which thin API packages are required for each Bryntum product:
162
+
163
+ | Product | Core | Engine | Grid | Scheduler | Scheduler Pro | Product Package |
164
+ |-------------------|:----:|:------:|:----:|:---------:|:-------------:|:----------------------------:|
165
+ | **Grid** | ✓ | | ✓ | | | `@bryntum/grid-thin` |
166
+ | **Scheduler** | ✓ | ✓ | ✓ | ✓ | | `@bryntum/scheduler-thin` |
167
+ | **Scheduler Pro** | ✓ | ✓ | ✓ | ✓ | ✓ | `@bryntum/schedulerpro-thin` |
168
+ | **Gantt** | ✓ | ✓ | ✓ | ✓ | ✓ | `@bryntum/gantt-thin` |
169
+ | **Calendar** | ✓ | ✓ | ✓ | ✓ | | `@bryntum/calendar-thin` |
170
+ | **TaskBoard** | ✓ | ✓ | | | | `@bryntum/taskboard-thin` |
171
+
172
+ ### Important Notes
173
+
174
+ **About Core Framework Wrappers:**
175
+
176
+ `@bryntum/core-[framework]-thin` packages (e.g., `@bryntum/core-react-thin`) are **optional** and only needed if you use
177
+ Bryntum Core UI widgets directly in your app, such as:
178
+
179
+ - `BryntumButton`
180
+ - `BryntumCombo`
181
+ - `BryntumTextField`
182
+ - Other Core widgets
183
+
184
+ If you only use the main product component (Grid, Scheduler, etc.), you don't need the Core framework wrapper.
185
+
186
+ ## Quick Start
187
+
188
+ ```typescript
189
+ import { Scheduler } from '@bryntum/scheduler-thin';
190
+ import './style.css';
191
+
192
+ const scheduler = new Scheduler({
193
+ appendTo : 'app',
194
+ startDate : new Date(2022, 0, 1),
195
+ endDate : new Date(2022, 0, 10),
196
+ columns : [
197
+ { text : 'Name', field : 'name', width : 160 }
198
+ ],
199
+ resources : [
200
+ { id : 1, name : 'Dan Stevenson' },
201
+ { id : 2, name : 'Talisha Babin' }
202
+ ],
203
+ events : [
204
+ { resourceId : 1, startDate : '2022-01-01', endDate : '2022-01-10' },
205
+ { resourceId : 2, startDate : '2022-01-02', endDate : '2022-01-09' }
206
+ ]
207
+ });
208
+ ```
209
+
210
+ ## Themes
211
+
212
+ ### Svalbard (default)
213
+
214
+ | Light | Dark |
215
+ |--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|
216
+ | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=svalbard-light"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.svalbard-light.png" alt="Svalbard Light" width="300"></a> | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=svalbard-dark"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.svalbard-dark.png" alt="Svalbard Dark" width="300"></a> |
217
+
218
+ ### Stockholm
219
+
220
+ | Light | Dark |
221
+ |----------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
222
+ | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=stockholm-light"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.stockholm-light.png" alt="Stockholm Light" width="300"></a> | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=stockholm-dark"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.stockholm-dark.png" alt="Stockholm Dark" width="300"></a> |
223
+
224
+ ### Visby
225
+
226
+ | Light | Dark |
227
+ |--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
228
+ | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=visby-light"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.visby-light.png" alt="Visby Light" width="300"></a> | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=visby-dark"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.visby-dark.png" alt="Visby Dark" width="300"></a> |
229
+
230
+ ### Material 3
231
+
232
+ | Light | Dark |
233
+ |-----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
234
+ | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=material3-light"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.material3-light.png" alt="Material 3 Light" width="300"></a> | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=material3-dark"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.material3-dark.png" alt="Material 3 Dark" width="300"></a> |
235
+
236
+ ### High Contrast
237
+
238
+ | Light | Dark |
239
+ |------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
240
+ | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=high-contrast-light"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.high-contrast-light.png" alt="High Contrast Light" width="300"></a> | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=high-contrast-dark"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.high-contrast-dark.png" alt="High Contrast Dark" width="300"></a> |
241
+
242
+ ### Fluent 2
243
+
244
+ | Light | Dark |
245
+ |-------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
246
+ | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=fluent2-light"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.fluent2-light.png" alt="Fluent 2 Light" width="300"></a> | <a href="https://bryntum.com/products/scheduler/examples/timeresolution/?theme=fluent2-dark"><img src="https://bryntum.com/products/scheduler/docs/data/Scheduler/images/themes/thumb.fluent2-dark.png" alt="Fluent 2 Dark" width="300"></a> |
247
+
248
+ For more information on customizing themes, see the [Styling guide](https://bryntum.com/products/scheduler/docs/guide/Scheduler/customization/styling).
249
+
250
+ ## Framework Integrations
251
+
252
+ Thin packages use thin framework wrappers. Each wrapper follows native framework patterns and lifecycle management.
253
+
254
+ **Note:** The framework wrappers are public and can be installed normally. They require the thin core package (installed
255
+ above with aliasing) to be present.
256
+
257
+ ### React
258
+
259
+ ```shell
260
+ npm install @bryntum/scheduler-react-thin@latest
261
+ ```
262
+
263
+ For details, see [React Multiple Products](https://bryntum.com/products/scheduler/docs/guide/Scheduler/integration/react/multiple-products).
264
+
265
+ ### Angular
266
+
267
+ ```shell
268
+ npm install @bryntum/scheduler-angular-thin@latest
269
+ ```
270
+
271
+ For details, see [Angular Multiple Products](https://bryntum.com/products/scheduler/docs/guide/Scheduler/integration/angular/multiple-products).
272
+
273
+ ### Vue 3
274
+
275
+ ```shell
276
+ npm install @bryntum/scheduler-vue-3-thin@latest
277
+ ```
278
+
279
+ For details, see [Vue Multiple Products](https://bryntum.com/products/scheduler/docs/guide/Scheduler/integration/vue/multiple-products).
280
+
281
+ ## Explore All Bryntum Products
282
+
283
+ * [Bryntum Grid](https://bryntum.com/products/grid/) - High-performance data grid
284
+ * [Bryntum Scheduler](https://bryntum.com/products/scheduler/) - Resource scheduling component
285
+ * [Bryntum Scheduler Pro](https://bryntum.com/products/schedulerpro/) - Advanced scheduling with dependencies
286
+ * [Bryntum Gantt](https://bryntum.com/products/gantt/) - Project planning and management
287
+ * [Bryntum Calendar](https://bryntum.com/products/calendar/) - Full-featured calendar component
288
+ * [Bryntum TaskBoard](https://bryntum.com/products/taskboard/) - Kanban-style task management
289
+
290
+ Explore our comprehensive collection of demos:
291
+
292
+ | Product | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/js.svg" alt="JavaScript" width="30"><br>JavaScript | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/react.svg" alt="React" width="30"><br>React | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/vue.svg" alt="Vue" width="30"><br>Vue | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/angular.svg" alt="Angular" width="30"><br>Angular |
293
+ |-------------------|:------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:------------------------------------------------------------------------------:|
294
+ | **Grid** | [Grid JavaScript demos](https://bryntum.com/products/grid/examples/?framework=javascript) | [Grid React demos](https://bryntum.com/products/grid/examples/?framework=react) | [Grid Vue demos](https://bryntum.com/products/grid/examples/?framework=vue) | [Grid Angular demos](https://bryntum.com/products/grid/examples/?framework=angular) |
295
+ | **Scheduler** | [Scheduler JavaScript demos](https://bryntum.com/products/scheduler/examples/?framework=javascript) | [Scheduler React demos](https://bryntum.com/products/scheduler/examples/?framework=react) | [Scheduler Vue demos](https://bryntum.com/products/scheduler/examples/?framework=vue) | [Scheduler Angular demos](https://bryntum.com/products/scheduler/examples/?framework=angular) |
296
+ | **Scheduler Pro** | [Scheduler Pro JavaScript demos](https://bryntum.com/products/schedulerpro/examples/?framework=javascript) | [Scheduler Pro React demos](https://bryntum.com/products/schedulerpro/examples/?framework=react) | [Scheduler Pro Vue demos](https://bryntum.com/products/schedulerpro/examples/?framework=vue) | [Scheduler Pro Angular demos](https://bryntum.com/products/schedulerpro/examples/?framework=angular) |
297
+ | **Gantt** | [Gantt JavaScript demos](https://bryntum.com/products/gantt/examples/?framework=javascript) | [Gantt React demos](https://bryntum.com/products/gantt/examples/?framework=react) | [Gantt Vue demos](https://bryntum.com/products/gantt/examples/?framework=vue) | [Gantt Angular demos](https://bryntum.com/products/gantt/examples/?framework=angular) |
298
+ | **Calendar** | [Calendar JavaScript demos](https://bryntum.com/products/calendar/examples/?framework=javascript) | [Calendar React demos](https://bryntum.com/products/calendar/examples/?framework=react) | [Calendar Vue demos](https://bryntum.com/products/calendar/examples/?framework=vue) | [Calendar Angular demos](https://bryntum.com/products/calendar/examples/?framework=angular) |
299
+ | **TaskBoard** | [TaskBoard JavaScript demos](https://bryntum.com/products/taskboard/examples/?framework=javascript) | [TaskBoard React demos](https://bryntum.com/products/taskboard/examples/?framework=react) | [TaskBoard Vue demos](https://bryntum.com/products/taskboard/examples/?framework=vue) | [TaskBoard Angular demos](https://bryntum.com/products/taskboard/examples/?framework=angular) |
300
+
301
+ ## Online references
39
302
 
40
- * [Bryntum npm repository guide](https://bryntum.com/products/scheduler/docs/guide/Scheduler/npm-repository)
41
303
  * [Bryntum Scheduler documentation](https://bryntum.com/products/scheduler/docs/)
42
304
  * [Bryntum Scheduler examples](https://bryntum.com/products/scheduler/examples/)
305
+
43
306
  * [Bryntum Support Forum](https://forum.bryntum.com/)
44
307
  * [Contact us](https://bryntum.com/contact/)
45
308
 
46
- # License and copyright
309
+ ## License and copyright
47
310
 
48
311
  Bryntum Scheduler is commercial software and requires a paid license.
49
312
  Please visit the [Bryntum Scheduler End User License](https://bryntum.com/products/scheduler/license/) for the full text of the license.
50
313
 
51
314
  Copyright © 2009-2026, Bryntum
52
315
  All rights reserved.
316
+
@@ -1 +1 @@
1
- (function(a,b){function J(a,b){return _scb(b-0x168,a);}const c=a();while(!![]){try{const d=-parseInt(J(0x365,0x3f0))/0x1*(-parseInt(J(0x3d5,0x408))/0x2)+parseInt(J(0x394,0x3f2))/0x3+parseInt(J(0x358,0x3a1))/0x4*(parseInt(J(0x317,0x344))/0x5)+-parseInt(J(0x387,0x33c))/0x6+parseInt(J(0x394,0x34f))/0x7+parseInt(J(0x419,0x392))/0x8+parseInt(J(0x32f,0x367))/0x9*(-parseInt(J(0x30c,0x38a))/0xa);if(d===b){break;}else{c['push'](c['shift']());}}catch(e){c['push'](c['shift']());}}}(_sca,0x97601));import _scc from'@bryntum/core-thin/lib/data/Store.js';import _scd from'@bryntum/core-thin/lib/mixin/Delayable.js';import _sce from'@bryntum/core-thin/lib/helper/ObjectHelper.js';function _scb(a,b){const c=_sca();_scb=function(d,e){d=d-0x1a2;let f=c[d];return f;};return _scb(a,b);}import _scf from'@bryntum/core-thin/lib/helper/StringHelper.js';import _scg from'@bryntum/core-thin/lib/helper/ArrayHelper.js';function _sca(){const bn=['processRecordResponse','pack','_crudStores','getRange','assignmentStore','doAutoLoad','60NQzYRs','isAssignmentStore','updateCrudStoreIndex','activeRequests','isFieldValueEqual','currentPage','updateSyncApplySequence','idFieldProcessed','supportShortSyncResponse','loadPriority','crudStores','6929720TcohYL','ion','Interleaved\x20','scheduleAutoSync','activeSyncPromise','local','Failed\x20to\x20parse\x20response:\x20','internalOnResponse','trackResponseType','_lastLoadResponse','phantomIdField','removeStoreFromApplySequence','eventStore','hasChanges','noChanges','suspendFilterOnUpdate','page','allFields','acceptChanges','validateLoadResponse','catch','isAjaxStore','loadStart','_crudManagerId','10778409jDqPtL','setPath','prepareRemoved','keys','append','bindCrudStoreListeners','crudStoresIndex','hasApplySequenceStore','remove','updateUrl','$meta','resumeSortOnUpdate','AbstractCrudManagerMixin','reject','__record__','removeCrudStore','isModel','asArray','beforeLoad','href','modifiedMaterialized','Iterator\x20function\x20must\x20be\x20provided','autoLoad','call','\x20failed','construct','getStoreDescriptor','request','getStore','added','requestFail','loadDataToCrudStore','applyLoadResponse','autoSyncSuspendCounter','doDestroy','20RXKDBH','forEach','isCrudManagerSyncing','set','changes','toJSON','revertChanges','phantomParentIdField','5974928AWxbef','meta','Crud\x20Manager\x20request\x20failed','internalClearChanges','constructor','detachListeners','sendRequest','prepareAddedRecordData','load','aborted','raf','every','forceSync','resumeAutoSync','values','141148qxAeht','store','autoSync','You\x20have\x20configured\x20an\x20URL\x20on\x20a\x20Store\x20that\x20is\x20handled\x20by\x20a\x20CrudManager\x20that\x20is\x20also\x20configured\x20with\x20an\x20URL.\x20The\x20Store\x20URL\x27s\x20should\x20be\x20removed.','getRecordChangesToClear','updateLoadUrl','encode','requestDone','getCrudStoreChanges','location','shouldIgnoreRemoteChangesInSTM','splice','suspendChangeTracking','syncDelayed','orderedCrudStores','$name','isPaged','source','includes','writeAllFields','isCrudManagerLoading','isTestEnv','usesSingleAssignment','resetIdsBeforeSync','findInsertionIndex','addPrioritizedStore','desc','afterSyncAttempt','__loading','isLoadingOrSyncing','readUrl','syncCanceled','onCrudStoreChange','addStoreToApplySequence','push','syncUrl','fillStoreDescriptor','prepareUpdated','safeJsonStringify','_lastLoadedData','read','crud','safeJsonParse','text','addCrudStore','totalCount','_requestId','cancelled','sync','\x20operation\x20detected','loadUrl','prepareAdded','error','warn','isEvents','decode','$PhantomId','suspendSortOnUpdate','isDestroyed','entries','applySyncResponse','keep-loaded-data','loadCrudManagerData','indexOf','clear','isEmpty','modified','crudIgnoreUpdates','triggerFailedRequestEvents','emitCrudStoreEvents','mixin','dataSource','Data','includeChildrenInRemoveRequest','loadCanceled','reduce','requestId','storeIdProperty','persistableData','4KWKoeu','length','971106VZBasu','updated','autoSyncTimeout','validateResponse','getChangesetPackage','loadCrudStore','unbindCrudStoreListeners','parseInt','getCrudStore','beforeSync','filter','has','deleteUrl','resumeChangeTracking','_autoLoadPromise','isDelayable','$$meta','syncPriority','revision','success','defineProperty','rootNode','491212vuHYpY','$PhantomParentId','ignoreRemoteChangesInSTM','get','size','forEachCrudStore','then','pathifyKeys','deletePath','url','subStore','removed','modificationDataToWrite','idField','resumeFilterOnUpdate','hasTimeout','transport.sync.url','getPath','suspendAutoCommit','transport','updateSyncUrl','isEqual','modelClass','revertCrudStoreChanges','configurable','applyChangesToStore','delayable','getById','undefined','isAutoSyncSuspended','storeId','isCrudManager','Apply','tree','isChangeTrackingSuspended','afterConstruct','validateSyncResponse','createUrl','type','Fail','setTimeout','object','isRoot','foo','_syncApplySequence','syncApplySequence','add','isValid','crudStoreHasChanges','getFieldPersistentValue','map','rows','parentId','name','pageSize','getLoadPackage','applyingResponse','data','capitalize','onCrudRequestSuccess','applyingLoadResponse','onCrudStoreDestroy','applyChangeset','getActiveCrudManagerRequest','some','transport.load.url','applyingSyncResponse','applyResponse','processStoreResponse','assign','trigger','internalAddCrudStore','skipSuccessProperty','onCrudRequestFailure','message','isCrudStoreDirty','applyingChangeset','find','appliedCrudChangesToStore','autoCommit','hasCrudStore','2706966xNAZIr','cancelRequest'];_sca=function(){return bn;};return _sca();}import _sch from'@bryntum/core-thin/lib/helper/util/Objects.js';import _sci from'@bryntum/core-thin/lib/Base.js';import _scj from'@bryntum/core-thin/lib/mixin/Events.js';import _sck from'./mixin/AbstractCrudManagerValidation.js';import _scl from'@bryntum/core-thin/lib/helper/VersionHelper.js';export class AbstractCrudManagerError extends Error{}export class CrudManagerRequestError extends AbstractCrudManagerError{constructor(a={}){function K(a,b){return _scb(a- -0x1cb,b);}var b,c;super(a['message']||a['request']&&_scf['capitalize']((b=a[K(0x4f,0xc5)])===null||b===void 0x0?void 0x0:b[K(-0x22,-0x7e)])+K(0x4c,0x34)||K(0x61,0xac));Object[K(-0x3,0x1b)](this,a);this['action']=(c=this[K(0x4f,-0x24)])===null||c===void 0x0?void 0x0:c['type'];}}const storeSortFn=function(a,b,c){if(a[L(0xc2,0x104)]){a=a['store'];}if(b['store']){b=b['store'];}a=a[c]||0x0;b=b[c]||0x0;function L(a,b){return _scb(a- -0x178,b);}return a<b?-0x1:a>b?0x1:0x0;},storeLoadSortFn=function(a,b){function M(a,b){return _scb(a-0x2f3,b);}return storeSortFn(a,b,M(0x4d8,0x451));},storeSyncSortFn=function(a,b){function N(a,b){return _scb(b- -0x1d3,a);}return storeSortFn(a,b,N(0xb3,0xc8));},cloneObject=function(a){function O(a,b){return _scb(b- -0x12d,a);}return _scf[O(0x180,0x136)](_scf[O(0x113,0x132)](a));};export default a=>{function P(a,b){return _scb(b-0x158,a);}a[P(0x3b2,0x3f2)]=a[P(0x311,0x361)];const b=[];if(!a[P(0x431,0x3c7)]){b[P(0x380,0x3b3)](_scj);}if(!a[P(0x391,0x3f1)]){b[P(0x43f,0x3b3)](_scd);}b[P(0x3ea,0x3b3)](_sck);return class c extends(a||_sci)[P(0x3cb,0x3d7)](...b){static [P(0x317,0x3a0)]=P(0x3f0,0x363);static [P(0x43d,0x410)]={'crudRevision':null,'crudStores':[],'storeIdProperty':'id','crudFilterParam':P(0x464,0x3ec),'transport':{},'trackResponseType':![],'supportShortSyncResponse':!![],'phantomIdField':P(0x377,0x3c9),'phantomParentIdField':P(0x452,0x3f9),'autoLoad':![],'autoSyncTimeout':0x64,'autoSync':![],'resetIdsBeforeSync':!![],'syncApplySequence':[],'orderedCrudStores':[],'writeAllFields':![],'crudIgnoreUpdates':0x0,'autoSyncSuspendCounter':0x0,'crudLoaded':![],'applyingLoadResponse':![],'applyingSyncResponse':![],'callOnFunctions':!![],'loadUrl':null,'syncUrl':null,'forceSync':null,'ignoreRemoteChangesInSTM':![],'includeChildrenInRemoveRequest':!![],'syncConflictResolution':P(0x36e,0x344)};static [P(0x3a1,0x412)]={'doAutoLoad':P(0x3eb,0x38c)};get[P(0x298,0x2fa)](){return!![];}[P(0x3ba,0x370)](d={}){const e=this;e[Q(0x5e8,0x5e3)]=0x0;function Q(a,b){return P(b,a-0x229);}e[Q(0x560,0x4fa)]={};e[Q(0x586,0x514)]={};if(_scl[Q(0x5cf,0x5af)]&&globalThis[Q(0x5c3,0x602)][Q(0x593,0x557)][Q(0x5cc,0x618)](Q(0x5f7,0x594))){e[Q(0x569,0x5d5)]({'beforeLoadCrudManagerData'({response:f}){function R(a,b){return Q(a-0x4f,b);}e[R(0x5c0,0x63b)]=cloneObject(f);},'load'(){function S(a,b){return Q(b- -0x3d1,a);}e[S(0x1ed,0x210)]=cloneObject(e[S(0x199,0x1d7)]());},'once':!![]});}super['construct'](d);}[P(0x28b,0x2fe)](){super[T(0x172,0x1ba)]();function T(a,b){return P(a,b- -0x144);}if(this[T(0x1fc,0x229)]){this[T(0x2c0,0x2ac)]=this[T(0x21b,0x1ef)]();}}get[P(0x439,0x3c3)](){function U(a,b){return P(b,a- -0x406);}var d;return(d=this['transport'])===null||d===void 0x0||(d=d['load'])===null||d===void 0x0?void 0x0:d[U(-0x5,-0x10)];}[P(0x32a,0x396)](d){function V(a,b){return P(a,b-0xe);}_sce[V(0x3d6,0x366)](this,V(0x3ad,0x32a),d);}get[P(0x37a,0x3b4)](){var d;function W(a,b){return P(b,a-0x39);}return(d=this[W(0x444,0x4d0)])===null||d===void 0x0||(d=d[W(0x3fa,0x3eb)])===null||d===void 0x0?void 0x0:d[W(0x43a,0x3c8)];}[P(0x461,0x40c)](d){function X(a,b){return P(b,a- -0x150);}_sce[X(0x208,0x1e9)](this,X(0x2b8,0x30a),d);}get[P(0x3a2,0x39b)](){function Y(a,b){return P(b,a- -0x11c);}return this[Y(0x2de,0x33f)];}[P(0x3b3,0x371)](d){if(!d){return null;}function Z(a,b){return P(b,a- -0x20a);}if(d instanceof _scc){d=d[Z(0x14c,0x1bb)]||d['id'];}else if(typeof d==='object'){d=d[Z(0x20c,0x280)];}return this['crudStoresIndex'][d];}[P(0x367,0x3b5)](d){function a0(a,b){return P(b,a- -0x1f1);}const {store:e}=d,{storeIdProperty:storeIdProperty=this[a0(0x1ed,0x165)],modelClass:f}=e;if(!d[a0(0x225,0x27c)]){d['storeId']=e[storeIdProperty]||e['id'];}if(!d[a0(0x214,0x1f0)]){d[a0(0x214,0x1d4)]=f[a0(0x214,0x18b)];}if(!d[a0(0x158,0x191)]){d['phantomIdField']=f[a0(0x158,0x150)];}if(!d['phantomParentIdField']){d[a0(0x190,0x12a)]=f[a0(0x190,0x142)];}if(!(a0(0x1b3,0x19e)in d)){d[a0(0x1b3,0x17e)]=e[a0(0x1b3,0x17c)];}return d;}[P(0x35f,0x336)](){const d=this[a1(0x413,0x3b8)]={};function a1(a,b){return P(b,a-0xb6);}this[a1(0x3f4,0x3e0)][a1(0x431,0x48e)](e=>e['storeId']&&(d[e['storeId']]=e));}['getCrudStore'](d){function a2(a,b){return P(a,b- -0x334);}const e=this[a2(0x35,0x3d)](d);return e===null||e===void 0x0?void 0x0:e[a2(0x1c,0x5e)];}[P(0x3f5,0x3fd)](d,e=this){function a3(a,b){return P(a,b-0x270);}if(!d){throw new Error(a3(0x632,0x5dc));}this['crudStores'][a3(0x678,0x5fd)](f=>d['call'](e,f[a3(0x58c,0x602)],f[a3(0x6d7,0x686)],f)!==![]);}['updateCrudStores'](d){this[a4(-0x143,-0x186)]=[];function a4(a,b){return P(b,a- -0x473);}this[a4(-0xb6,-0xa6)](d);for(const e of this[a4(-0x143,-0xcc)]){e[a4(-0x136,-0xea)]=e[a4(-0x80,-0x106)]=0x0;}}[P(0x2e9,0x33a)](d){function a5(a,b){return P(a,b- -0x408);}this[a5(-0xb1,-0x101)]=[];this[a5(-0x8f,-0x56)](d);}[P(0x370,0x322)](d){function a6(a,b){return P(a,b- -0x403);}const e=this;let f;if(d instanceof _scc){f={'store':d};}else if(typeof d===a6(-0x83,-0xff)){f=d[a6(-0xa9,-0x71)]?d:{'store':new _scc(d)};}else{f={'store':_scc[a6(-0xf6,-0x90)](d)};}e['fillStoreDescriptor'](f);d=f[a6(-0x46,-0x71)];if(d['setCrudManager']){d['setCrudManager'](e,f);}d['crudManager']=e;d['_crudManagerId']=f[a6(0x7b,0x13)];if(d[a6(-0xe8,-0xaf)]){d[a6(-0x77,-0xf2)]=null;}if(e['loadUrl']||e[a6(-0x17,-0x4f)]){d[a6(-0x8f,-0xd9)]=![];d['autoLoad']=![];if(d[a6(-0xbe,-0x103)]||d[a6(-0x9b,-0xa3)]||d[a6(-0x53,-0x15)]||d[a6(-0x2b,-0x54)]){console[a6(0x3d,-0x3d)](a6(-0x1b,-0x6f));}}e[a6(-0x115,-0xa7)](d);return f;}[P(0x3b9,0x3bd)](d,e,f){var g,h;d=_scg[a7(0x23,0xa5)](d);if(!((g=d)!==null&&g!==void 0x0&&g[a7(0x9c,0x32)])){return;}function a7(a,b){return P(b,a- -0x345);}const i=this,j=d[a7(-0x38,0x35)](i[a7(-0x23,0x15)],i);if(typeof e===a7(0xcf,0xc3)){i[a7(-0x7,0x3b)]['push'](...j);}else{if(f){if(f instanceof _scc||typeof f!==a7(-0x41,-0x85))f=i[a7(0x2c,0x97)](f);e+=i['crudStores']['indexOf'](f);}i['crudStores'][a7(0x57,0xb4)](e,0x0,...j);}i['orderedCrudStores'][a7(0x6e,0x76)](...j);i['updateCrudStoreIndex']();(h=i['afterAddStore'])===null||h===void 0x0||h[a7(0x29,0x8d)](i,j);}[P(0x365,0x3aa)](d){const e=this;function a8(a,b){return P(b,a- -0x2f4);}if(!e[a8(0x37,-0x9)](d)){e[a8(0xc9,0xda)](d,_scg['findInsertionIndex'](d,e[a8(0x4a,0xd4)],storeLoadSortFn));}if(!e[a8(0x6a,0x2e)](d)){e[a8(0xbe,0x82)](d,_scg[a8(0xb5,0x50)](d,e[a8(0x14,-0x77)],storeSyncSortFn));}}[P(0x37d,0x32b)](d){var e;function a9(a,b){return P(b,a-0x1e4);}return(e=this[a9(0x522,0x4a4)])===null||e===void 0x0?void 0x0:e['some'](f=>f===d||f[a9(0x576,0x5ef)]===d||f[a9(0x5fa,0x5e8)]===d);}[P(0x3a5,0x366)](d){function aa(a,b){return P(a,b- -0x2b2);}const e=this,{crudStores:f,orderedCrudStores:g}=e,h=e['getStoreDescriptor'](d);if(h){e[aa(0x187,0x136)](h[aa(0x69,0xe0)]);_scg['remove'](f,h);_scg[aa(0x2a,0xad)](g,h);e[aa(0x41,0x98)](h);delete e[aa(0x110,0xab)][h['storeId']];}else{throw new Error('Store\x20not\x20found\x20in\x20stores\x20collection');}}[P(0x33a,0x35c)](d){function ab(a,b){return P(a,b- -0x76);}d[ab(0x275,0x2ca)]({'name':d['id'],'addConfirmed':ab(0x364,0x33b),'change':ab(0x3b7,0x33b),'destroy':ab(0x214,0x2a2),'thisObj':this});}[P(0x469,0x3e8)](d){function ac(a,b){return P(b,a- -0x168);}this[ac(0x21f,0x1fe)](d['id']);}[P(0x40b,0x3b2)](d,e,f){if(!d){return;}d=_scg[ad(0x4d4,0x533)](d);const g=this,h=d[ad(0x548,0x5b9)]((j,k)=>{const l=g[ae(0x624,0x5b5)](k);function ae(a,b){return ad(b-0xd8,a);}l&&j[ae(0x67a,0x5f7)](l);return j;},[]);if(typeof e===ad(0x580,0x54a)){g[ad(0x474,0x4fb)]['push'](...h);}else{let j=e;if(f){if(f instanceof _scc||typeof f!==ad(0x470,0x4e7))f=g['getStoreDescriptor'](f);j+=g['syncApplySequence'][ad(0x53c,0x507)](f);}g[ad(0x474,0x413)]['splice'](j,0x0,...h);}const i=g['syncApplySequence'][ad(0x479,0x400)](({storeId:k})=>k);function ad(a,b){return P(b,a-0x16c);}g[ad(0x50b,0x504)]=[...g[ad(0x474,0x4bc)]];g[ad(0x4aa,0x491)][ad(0x4e7,0x567)](k=>{function af(a,b){return ad(b- -0x414,a);}if(!i[af(0x7f,0xfb)](k[af(0x1d6,0x16e)])){g[af(0x125,0xf7)][af(0x98,0x10b)](k);}});}[P(0x2db,0x34a)](d){function ag(a,b){return P(b,a- -0x27b);}const {syncApplySequence:e}=this,f=this[ag(0xf6,0xd4)](d);if(e&&f){_scg[ag(0xe4,0xc6)](e,f);}}[P(0x2d4,0x35e)](d){function ah(a,b){return P(a,b- -0x326);}return this['syncApplySequence'][ah(-0x35,-0xb)](e=>e===d||e['store']===d||e[ah(0xc5,0xf0)]===d);}[P(0x34d,0x318)]({source:d}){function ai(a,b){return P(a,b- -0x325);}this[ai(0x7c,0x41)](d);}[P(0x384,0x3b1)](d){const e=this,f=d===null||d===void 0x0?void 0x0:d[aj(0x317,0x2bf)];if(f){const g=e[aj(0x2fe,0x28e)](f);if(g&&!g[aj(0x25b,0x258)]&&f[aj(0x352,0x32b)]['idFieldProcessed']){g[aj(0x2a8,0x322)]=f[aj(0x332,0x32b)][aj(0x33f,0x322)];g['idFieldProcessed']=!![];}}function aj(a,b){return P(a,b- -0xe3);}if(e[aj(0x2ae,0x2f1)]){return;}if(e[aj(0x236,0x228)](d===null||d===void 0x0?void 0x0:d[aj(0x270,0x2bf)])){e[aj(0x2aa,0x23e)]('hasChanges');if(e[aj(0x2c7,0x2b0)]){e[aj(0x2e4,0x25f)]();}}else{e['trigger'](aj(0x26b,0x26a));}}['suspendAutoSync'](){this[ak(-0x178,-0x1b7)]++;function ak(a,b){return P(b,a- -0x4f0);}this[ak(-0xf3,-0xc5)](d=>d[ak(-0xe6,-0x172)]());}['resumeAutoSync'](d=!![]){function al(a,b){return P(a,b- -0x207);}const e=this;e['autoSyncSuspendCounter']--;e[al(0x17b,0x1f6)](f=>f['resumeAutoCommit'](d));if(e[al(0x1f2,0x171)]<=0x0){e[al(0x1aa,0x171)]=0x0;if(d&&e[al(0x172,0x18c)]&&e[al(0xbd,0x104)]()){e[al(0xdb,0x13b)]();}}}get[P(0x4a1,0x415)](){function am(a,b){return P(b,a-0xc8);}return this[am(0x440,0x3fb)]>0x0;}[P(0x395,0x342)](){function an(a,b){return P(a,b- -0x113);}const d=this;if(!d[an(0x2dd,0x2f4)]('autoSync')&&!d['isAutoSyncSuspended']){d[an(0x1f1,0x1f0)]({'name':an(0x256,0x280),'fn':()=>{function ao(a,b){return an(b,a- -0x23f);}d[ao(0x6f,0xc0)]()[ao(0x1,0x70)](e=>{});},'delay':d[an(0x260,0x2d1)]});}}async[P(0x448,0x3d5)](d,e,f,g,h){const {options:i,type:j}=d;this['trigger'](ap(0x71,0xe3),{'requestType':j,'response':e,'responseText':f,'requestOptions':g,'rawResponse':h,'responseOptions':g});function ap(a,b){return P(a,b- -0x292);}this[ap(0x47,0x8f)](j+ap(0x3c,0x70),{'response':e,'requestOptions':g,'responseText':f,'options':i,'rawResponse':h,'responseOptions':g});}async[P(0x393,0x346)](d,e,f,g){function aq(a,b){return P(b,a-0x1b2);}const h=this,i=e?h['decode'](e):null,{options:j,type:k}=d;if(e&&!i){console[aq(0x577,0x59d)](aq(0x4f7,0x53c)+e);}if(!i||(h['skipSuccessProperty']?i[aq(0x5a7,0x5f2)]===![]:!i[aq(0x5a7,0x5e9)])){h[aq(0x587,0x614)](d,i,e,f);}else if(h[aq(0x4d3,0x54b)]('beforeResponseApply',{'requestType':k,'response':i})!==![]&&h['trigger']('before'+_scf[aq(0x4c7,0x540)](k)+aq(0x4ad,0x4a9),{'response':i,'options':j})!==![]){h['crudRevision']=i[aq(0x5a6,0x5f2)];h['afterSyncAttempt'](d);await h[aq(0x4d0,0x4ef)](d,i,j);if(h['isDestroyed']){return;}h['trigger'](aq(0x54a,0x4ff),{'requestType':k,'response':i,'requestOptions':f,'rawResponse':g,'responseOptions':f});h[aq(0x4d3,0x4e6)](k,{'response':i,'requestOptions':f,'options':j,'rawResponse':g,'responseOptions':f});if(k===aq(0x53c,0x519)||!h['crudStoreHasChanges']()){h[aq(0x4d3,0x460)]('noChanges');if(k===aq(0x53c,0x5a2)){h[aq(0x588,0x54d)](d[aq(0x4e1,0x50b)]['stores'],'afterRequest');}}}return i;}[P(0x360,0x3ac)](d){function ar(a,b){return P(b,a- -0x3b0);}for(const f of Object[ar(-0x20,-0x75)](d[ar(-0x81,-0x15)])){var e;f===null||f===void 0x0||(e=f[ar(-0x3c,-0x24)])===null||e===void 0x0||e[ar(-0x35,-0x8d)](g=>g[ar(-0x4b,0x4)]['isBeingMaterialized']=![]);}}['suspendChangeTracking'](){function as(a,b){return P(a,b- -0x4b0);}this[as(-0x4f,-0xdc)]++;this['crudStores'][as(-0x176,-0x135)](({store:d})=>{d[at(0x289,0x266)]();function at(a,b){return as(b,a-0x3eb);}d[at(0x305,0x2e1)]();});}[P(0x464,0x3ef)](d){function au(a,b){return P(a,b-0x249);}this[au(0x574,0x587)][au(0x566,0x5c4)](({store:e})=>{e[av(0x691,0x670)]();function av(a,b){return au(a,b-0x21);}e[av(0x5e3,0x5cc)]();});if(this[au(0x651,0x61d)]&&!--this[au(0x63b,0x61d)]&&!d){this[au(0x5d4,0x5fa)]();}}get[P(0x2ed,0x2fd)](){return this['crudIgnoreUpdates']>0x0;}[P(0x27d,0x30b)](d){function aw(a,b){return P(a,b- -0x3e0);}return d?this[aw(-0x2f,-0xba)](this[aw(0x3b,0xa)](d)):this[aw(-0x38,-0xa2)][aw(-0x133,-0xc5)](e=>this['isCrudStoreDirty'](e[aw(-0x40,-0x4e)]));}[P(0x303,0x326)](d){function ax(a,b){return P(a,b- -0x32e);}return d[ax(0x76,0x1e)];}[P(0x2a9,0x333)](){function ay(a,b){return P(a,b- -0x40d);}return this[ay(-0x68,-0x83)]()[ay(-0xea,-0xba)](d=>{});}[P(0x3d9,0x3d6)](d,e,f){function az(a,b){return P(a,b-0x262);}const g={'action':az(0x591,0x61b)+e,...f};for(const h of this[az(0x57c,0x5a0)]){if(d[az(0x5cc,0x605)](h['storeId'])){h[az(0x5c3,0x5f4)][az(0x5ae,0x583)](e,g);}}}[P(0x31b,0x312)](d){const e={'type':aA(0x152,0xfd),'requestId':this[aA(0x191,0x150)]},f=this['crudStores'],g={...d};delete g['request'];e['stores']=f[aA(-0xd,0x80)](h=>{var i;const j=g===null||g===void 0x0?void 0x0:g[h[aB(0x4dc,0x487)]],k=h[aB(0x467,0x439)]||((i=h[aB(0x458,0x400)])===null||i===void 0x0?void 0x0:i['isPaged']);function aB(a,b){return aA(b,a-0x353);}if(j||k){var l;const m=h[aB(0x3d7,0x3ff)]??((l=h[aB(0x458,0x4cd)])===null||l===void 0x0?void 0x0:l[aB(0x3d7,0x3a8)]),n={'storeId':h[aB(0x4dc,0x470)],'page':0x1,...j};if(m){n[aB(0x3d7,0x3b3)]=m;}h[aB(0x3ff,0x48a)]=n[aB(0x415,0x487)];if(j){delete g[h[aB(0x4dc,0x453)]];}return n;}return h[aB(0x4dc,0x562)];});Object['assign'](e,g);function aA(a,b){return P(a,b- -0x28d);}return e;}[P(0x3c0,0x3e7)](d,e,f){const g=e===null||e===void 0x0?void 0x0:e['rows'];if(f!==null&&f!==void 0x0&&f[aC(-0xdd,-0x85)]||e!==null&&e!==void 0x0&&e[aC(-0xdd,-0x7b)]){d[aC(-0x12f,-0x197)](g,![],{'clean':!![]});}else{d['data']=g;}function aC(a,b){return P(b,a- -0x438);}d[aC(-0x117,-0x8b)](aC(-0xae,-0x8d),{'data':g});}[P(0x366,0x376)](d,e,f){const g=d[aD(0x37e,0x2fa)],h=e===null||e===void 0x0?void 0x0:e[aD(0x2fa,0x294)];g[aD(0x399,0x395)]=!![];function aD(a,b){return P(b,a- -0x14);}if(h){this[aD(0x3d3,0x395)](g,e,f,d);}g[aD(0x399,0x38a)]=![];}[P(0x3ec,0x3cf)](d,e={}){const f=this;f[aE(0x50e,0x4ff)]('beforeLoadCrudManagerData',{'response':d,'options':e});function aE(a,b){return P(b,a-0x1ed);}f[aE(0x58a,0x568)]();f[aE(0x52b,0x57f)][aE(0x568,0x54f)](g=>{const h=g['storeId'],i=d[h];if(i){f['loadDataToCrudStore'](g,i,e[h]);}});f[aE(0x5dc,0x55a)](!![]);f[aE(0x50e,0x4e7)]('loadCrudManagerData',{'response':d,'options':e});}get['isCrudManagerLoading'](){function aF(a,b){return P(b,a-0xd);}return Boolean(this['activeRequests'][aF(0x397,0x314)]||this[aF(0x324,0x384)]);}get['isCrudManagerSyncing'](){function aG(a,b){return P(b,a-0x27a);}return Boolean(this[aG(0x5b1,0x638)]['sync']||this[aG(0x597,0x5a6)]);}get[P(0x428,0x3ae)](){function aH(a,b){return P(a,b- -0x461);}return Boolean(this[aH(-0x134,-0xbc)]||this[aH(-0xa0,-0xe5)]);}[P(0x3a3,0x38a)](d){if(typeof d==='string'){d={'request':{'url':d}};}const e=this,f=e['getLoadPackage'](d);function aI(a,b){return P(a,b-0xcf);}e[aI(0x4e4,0x4bf)]=null;return new Promise((g,h)=>{function aJ(a,b){return aI(a,b- -0x434);}if(e[aJ(0x4,-0x44)](aJ(0x53,0x4),{'pack':f})!==![]){var i;const {load:j}=e[aJ(-0x84,-0x2e)];if(j){e[aJ(-0x3e,-0x38)](j[aJ(0xc7,0x46)],j[aJ(0x4c,-0x1)]);e['trigger'](aJ(0xa2,0x76),{'pack':f});}const k=_sch[aJ(-0x55,-0x45)]({'id':f[aJ(0x4e,0x78)],'data':e[aJ(0xf,0x32)](f),'type':aJ(0xaa,0x25),'success':e[aJ(-0xbe,-0x4f)],'failure':e[aJ(0x24,-0x41)],'thisObj':e},(i=d)===null||i===void 0x0?void 0x0:i[aJ(0x8d,0xd)]);e['activeRequests'][aJ(0x36,0x25)]={'type':aJ(-0x60,0x25),'options':d,'pack':f,'resolve':g,'reject'(...l){function aK(a,b){return aJ(a,b- -0xd8);}var m;k[aK(-0x57,-0x48)]=k['failure']=null;if(!((m=l[0x0])!==null&&m!==void 0x0&&m[aK(-0x21,-0x7d)])){h(...l);}},'id':f[aJ(0x1b,0x78)],'desc':e['sendRequest'](k)};e[aJ(0x7e,0x71)](f['stores'],'loadStart');e[aJ(-0xd,-0x44)](aJ(-0x64,-0x10),{'pack':f});}else{e[aJ(-0x1f,-0x44)](aJ(0xe4,0x76),{'pack':f});h({'cancelled':!![]});}});}[P(0x3a1,0x31a)](d){function aL(a,b){return P(b,a- -0x1fc);}let e=this[aL(0x13b,0x189)][d];if(!e&&this[aL(0x14b,0xf6)]){e=Object['values'](this[aL(0x13b,0xcf)])[0x0];}return e;}[P(0x33d,0x389)](d,e){const f=this,{store:g}=e,{isTree:h}=g,i=e['phantomIdField']||f[aM(0x46e,0x44b)],j=e[aM(0x4bd,0x483)]||f[aM(0x4d1,0x483)],k=g[aM(0x489,0x510)]['allFields'][aM(0x508,0x4ee)](n=>n['subStore']),l=d[aM(0x42e,0x488)],m=Object[aM(0x3db,0x422)](d[aM(0x4f3,0x4e1)],{[i]:d['id']});d['$isPhantom']=!![];if(h){const {parent:n}=d;if(n&&!n['isRoot']&&n['isPhantom']){m[j]=n['id'];}}if(f[aM(0x4fa,0x4aa)]){_sce[aM(0x4b4,0x502)](m,l[aM(0x528,0x507)]);}k[aM(0x4d2,0x47d)](o=>{function aN(a,b){return aM(b,a- -0x583);}const p=d['get'](o[aN(-0x171,-0x149)]);if(p[aN(-0xc3,-0x4c)]){m[o['dataSource']]={'added':p[aN(-0x150,-0xd1)]()[aN(-0x174,-0x12a)](q=>f[aN(-0xf8,-0x127)](q,{'store':p}))};}});Object[aM(0x4b1,0x4f8)](m,aM(0x449,0x467),{'value':d,'enumerable':![]});function aM(a,b){return P(a,b-0x102);}return m;}[P(0x3cb,0x3c4)](d,e){function aO(a,b){return P(a,b- -0x4f1);}return d['filter'](f=>f[aO(-0x23a,-0x1e7)])['map'](f=>this[aO(-0xe3,-0x168)](f,e));}[P(0x412,0x3b6)](d,e){const {store:f}=e,{isTree:g}=f,h=e[aP(0x1,0x5a)]||e[aP(0x53,0x5a)]!==![]&&this[aP(0x76,0x5a)],i=e[aP(0xa1,0x37)]||this[aP(-0x29,0x37)],j=f[aP(0x69,0xc4)][aP(0x6,0x6)][aP(0xf5,0xa2)](k=>k[aP(0x87,0xb8)]);function aP(a,b){return P(a,b- -0x34a);}if(e[aP(-0x37,0x48)][aP(-0x26,-0x4e)]){const k=e[aP(0x87,0x48)]['rootNode'];d=d[aP(0x32,0xa2)](l=>l!==k);}return d[aP(0x8e,0xa2)](l=>l[aP(0x3d,-0x40)])[aP(0x4,0x92)]((l,m)=>{let n;if(h){n=m['persistableData'];}else{n=m[aQ(0x5b6,0x5c1)];}function aQ(a,b){return aP(b,a-0x4fc);}if(g){const {parent:o}=m;if(o&&!o[aQ(0x4b7,0x4be)]&&o['isPhantom']){n[i]=o['id'];}}j[aQ(0x52d,0x523)](p=>{function aR(a,b){return aQ(b- -0x3f9,a);}const q=m[aR(0x1b5,0x1b4)](p[aR(0xae,0xc9)]);n[p[aR(0x198,0x191)]]=this[aR(0xd0,0x152)]({'store':q});});if(!_sce[aQ(0x584,0x54c)](n)){l[aQ(0x565,0x546)](n);}return l;},[]);}[P(0x35b,0x359)](d,{store:e}){let f;if(!this[aS(0x450,0x420)]){f=[];for(const h of d){var g;const i=h[aS(0x307,0x355)]??((g=h[aS(0x422,0x3c9)][aS(0x42a,0x419)])===null||g===void 0x0?void 0x0:g[aS(0x32d,0x355)]);if(i!=null&&(i===e[aS(0x496,0x43d)]['id']||!d[aS(0x332,0x361)](j=>j['id']===i))){f[aS(0x428,0x3f9)](h);}}}else{f=d;}function aS(a,b){return P(a,b-0x46);}return f[aS(0x2cd,0x353)](j=>_sce[aS(0x3a4,0x39e)]({},j[aS(0x458,0x3cc)][aS(0x3f5,0x44b)],j['id']));}[P(0x41b,0x399)](d){var e;const {store:f}=d;let {added:added=[],modified:g=[],removed:removed=[]}=f[aT(0x271,0x2ff)]||{},h;if(added[aT(0x2d4,0x353)]){added=this[aT(0x2b7,0x2de)](added,d);}if(g['length']||(e=f[aT(0x25e,0x202)])!==null&&e!==void 0x0&&e[aT(0x2ef,0x343)]){g=this[aT(0x2a9,0x2ec)]([...g,...f['modifiedMaterialized']??[]],d);}if(removed[aT(0x2d4,0x342)]){removed=this[aT(0x24c,0x1c8)](removed,d);}function aT(a,b){return P(b,a- -0x10d);}if(added[aT(0x2d4,0x296)]||g[aT(0x2d4,0x2c6)]||removed[aT(0x2d4,0x289)]){h={};if(added[aT(0x2d4,0x257)])h[aT(0x267,0x2f6)]=added;if(g['length'])h[aT(0x2d6,0x29e)]=g;if(removed[aT(0x2d4,0x334)])h[aT(0x2f6,0x28e)]=removed;}return h;}[P(0x46f,0x3e6)](){function aU(a,b){return P(b,a-0x109);}const {changes:d}=this;return d||this[aU(0x497,0x43c)]?{'type':aU(0x4ca,0x537),'requestId':this['requestId'],'revision':this['crudRevision'],...d}:null;}get[P(0x40b,0x37e)](){const d={};this['crudStores'][aV(0x5e4,0x593)](e=>{function aW(a,b){return aV(b,a- -0x751);}const f=this['getCrudStoreChanges'](e);if(f){d[e[aW(-0x123,-0xff)]]=f;}});function aV(a,b){return P(a,b-0x218);}return Object[aV(0x518,0x572)](d)['length']>0x0?d:null;}['isFieldValueEqual'](d,e,f){function aX(a,b){return P(b,a- -0x47c);}return d!==null&&d!==void 0x0&&d[aX(-0x6f,-0x84)]?d[aX(-0x6f,-0xfa)](e,f):_sce['isEqual'](e,f);}[P(0x37d,0x32e)](d,e,f,g,h,i){const j=d['syncConflictResolution']||this['syncConflictResolution'],{fieldDataSourceMap:k}=d['store'][aY(0x1db,0x24b)],{idField:l,phantomIdField:phantomIdField=this[aY(0x20e,0x186)]}=d;function aY(a,b){return P(a,b- -0x1c3);}let m={};if(j===aY(0x1f2,0x181)){for(const [n,o]of Object[aY(0x21c,0x209)](h)){let p=![];const q=k[n];if(q&&n!==phantomIdField&&(e||i)){const r=e?e[aY(0x12c,0x149)](q):i[n];let s=n in g,t=g[n];if(n===l&&g[phantomIdField]){s=s||phantomIdField in g;t=g[phantomIdField];}p=s&&!this[aY(0x1b1,0x175)](q,t,r)||n!==l&&this['isFieldValueEqual'](q,o,r);}if(!p){_sce['setPath'](m,n,o);}}}else{m=f;}return m;}[P(0x34b,0x395)](d,e,f,g,h=null){function aZ(a,b){return P(a,b-0x219);}const {store:i}=d,{fieldDataSourceMap:j}=i['modelClass'],k=i['isTree']&&i[aZ(0x5e7,0x627)]['parentIdField'];let l=![],m;if(g){m={};for(const [n,o]of Object[aZ(0x632,0x5e5)](e)){let p=j[n];if(!p&&n===k){p={'name':aZ(0x539,0x528)};}if(p&&n in g){const q=g[n];if(this[aZ(0x4d8,0x551)](p,o,q)||f&&this[aZ(0x4df,0x551)](p,q,f[n])){m[p[aZ(0x4a3,0x529)]]=h?h[p['name']]:!![];l=!![];}}}}return l?m:null;}[P(0x300,0x31f)](d,e,f){function b0(a,b){return P(a,b-0x71);}const g=this,{supportShortSyncResponse:h}=g,{idField:i,store:j,phantomIdField:phantomIdField=g[b0(0x331,0x3ba)]}=d,{addedMap:k,updatedMap:l,removedMap:m}=g['buildStoreSyncRequestMaps'](d,f,e),n=new Map(),o=new Map(),p=[],q=[],r=new Set();for(const s of(e===null||e===void 0x0?void 0x0:e['rows'])||[]){const t=_sce['getPath'](s,i),u=_sce[b0(0x43b,0x47a)](s,phantomIdField),v=k[b0(0x48a,0x46c)](u)||l[b0(0x447,0x46c)](t),w=j['getById'](u||t)||j[b0(0x461,0x474)][b0(0x44e,0x46c)](u||t),x=w===null||w===void 0x0?void 0x0:w[b0(0x49c,0x475)],y=_sce['pathifyKeys'](v),z=_sce[b0(0x4ac,0x470)](s),A=g[b0(0x32e,0x39f)](d,w,s,y,z,x);if(A){if(t){n[b0(0x46a,0x3ee)](t,A);}if(u){n['set'](u,A);}if(w){q[b0(0x42b,0x424)](A);}else{p[b0(0x4ae,0x424)](A);}}}for(const B of[...k['values'](),...l['values']()]){const C=_sce[b0(0x503,0x47a)](B,phantomIdField),D=_sce['getPath'](B,i),E=j[b0(0x4c5,0x484)](C||D)||j[b0(0x4c0,0x474)][b0(0x3e2,0x46c)](C||D),F=n['get'](D)||n[b0(0x3fc,0x46c)](C);if(E&&(h||n['has'](D)||n[b0(0x440,0x45e)](C))){o[b0(0x428,0x3ee)](E,g[b0(0x38b,0x406)](d,_sce['pathifyKeys'](B),F,E['modificationDataToWrite']));}}for(const G of[...(e===null||e===void 0x0?void 0x0:e[b0(0x4e7,0x474)])||[],...g[b0(0x3a8,0x3ad)]?m[b0(0x402,0x401)]():[]]){const H=_sce[b0(0x454,0x47a)](G,i);if((j[b0(0x413,0x484)](H)||j[b0(0x40f,0x474)][b0(0x424,0x414)](H))&&!n[b0(0x4cb,0x45e)](H)){r['add'](H);}}return{'added':p,'updated':q,'removed':[...r][b0(0x37b,0x37e)](I=>({[i]:I})),'clearChanges':o};}['buildStoreSyncRequestMaps']({idField:d,phantomIdField:phantomIdField=this[P(0x3c3,0x349)]},e){const f=new Map(),g=new Map(),h=new Map();function b1(a,b){return P(a,b- -0x3e2);}if(e){for(const i of e[b1(-0x83,-0x6e)]||[]){const j=_sce[b1(-0x4,0x27)](i,phantomIdField);f[b1(-0x9f,-0x65)](j,i);}for(const k of e[b1(0x51,0x1)]||[]){const l=_sce[b1(-0x4d,0x27)](k,d);g[b1(-0xf2,-0x65)](l,k);}for(const m of e[b1(-0x63,0x21)]||[]){const n=_sce[b1(-0x4f,0x27)](m,d);h[b1(-0xe8,-0x65)](n,m);}}return{'addedMap':f,'updatedMap':g,'removedMap':h};}[P(0x3ec,0x411)](d,e,f){const g=this,h=d['phantomIdField']||g[b2(0x11f,0x165)],{store:i}=d,{modelClass:j}=i,k=j['getFieldDataSource']('id'),l=j['allFields']['filter'](u=>u[b2(0x1ee,0x21e)]),{added:m,updated:n,removed:o,clearChanges:p}=g['processStoreResponse'](d,e,f);const q=[];if(n[b2(0x206,0x1fd)]&&l[b2(0x23d,0x1fd)]){for(const u of n){var r,s;const v=i[b2(0x227,0x22f)](u[h]??u[k]),w=f&&(((r=f[b2(0x1a1,0x190)])===null||r===void 0x0?void 0x0:r[b2(0x10a,0x144)](y=>y[h]==u[h]))||((s=f[b2(0x20e,0x1ff)])===null||s===void 0x0?void 0x0:s['find'](y=>y[k]==u[k]))),x={};for(const y of l){const {dataSource:z}=y,A=g[b2(0x1ed,0x1d1)]({'store':v['get'](y['name'])});g[b2(0x1bb,0x22d)](A,u[z],w===null||w===void 0x0?void 0x0:w[z]);x[z]=b2(0x18a,0x122);delete u[z];}q['push']([v,x]);}}let t;if(o[b2(0x245,0x1fd)]||m[b2(0x1ba,0x1fd)]||n['length']){t=i[b2(0x18f,0x135)]({'removed':o,'added':m,'updated':n},null,h,!![],!![]);}q[b2(0x17a,0x197)](([B,C])=>Object[b2(0xc9,0x13c)](t[b2(0x26c,0x217)](B['id']),C));function b2(a,b){return P(a,b- -0x1e4);}for(const [B,C]of p){if(C){const D=B[b2(0x13c,0x183)]?B:i[b2(0x246,0x22f)](B);D[b2(0x161,0x1a1)](![],!![],C);}}i[b2(0x19a,0x13d)](b2(0x187,0x145),{'crudManager':g});return t;}[P(0x3a4,0x3cd)](d,e){const f=this,{orderedCrudStores:g,supportShortSyncResponse:h}=f;f[b3(-0x18b,-0x153)]=f[b3(-0x183,-0x15d)]=!![];f[b3(-0xa8,-0xdd)]();for(const j of g){const k=d[j[b3(-0x12,-0x64)]];if(k||h){var i;f[b3(-0xde,-0x69)](j,k,e===null||e===void 0x0||(i=e[b3(-0x189,-0x14b)])===null||i===void 0x0?void 0x0:i[j['storeId']]);}}f[b3(-0xd5,-0x8b)](!![]);function b3(a,b){return P(a,b- -0x47a);}f[b3(-0x17f,-0x153)]=f[b3(-0xe4,-0x15d)]=![];}async['applyLoadResponse'](d,e){this[b4(0x190,0x134)]=!![];await this[b4(0x248,0x202)](d,e);function b4(a,b){return P(b,a- -0x187);}this[b4(0x190,0x1fa)]=![];}async[P(0x2a5,0x31e)](d,e,f){const g=this,h=g[b5(-0xa6,-0x11a)]&&e[b5(-0x1a3,-0x160)]||d[b5(-0x12e,-0x160)],{applyingResponse:i}=g;g[b5(-0xc6,-0x14e)]=!![];switch(h){case b5(-0x14f,-0xd7):if(g['validateResponse']){g[b5(-0xf5,-0x10f)](e,f);}await g[b5(-0x10f,-0xea)](e,f);break;case b5(-0x76,-0xa0):if(g[b5(-0x4a,-0x7c)]){g[b5(-0xd5,-0x162)](e,d);}g['applySyncResponse'](e,d);break;}function b5(a,b){return P(a,b- -0x461);}g[b5(-0x1cd,-0x14e)]=i;}[P(0x356,0x319)](d,e=null,f=P(0x3f9,0x3c9),g=!![],h=![]){const i=this,j=h?new Map():undefined;i[b6(-0x54,-0x5a)]=!![];i['suspendAutoSync']();i['suspendChangeTracking']();for(const {store:k,phantomIdField:l}of i['orderedCrudStores']){if(d[k['id']]){const m=k[b6(-0x4f,-0x68)](d[k['id']],e,l||i[b6(0x48,-0x38)],g,h);if(m){j[b6(-0x6b,-0x4)](k['id'],m);}}}function b6(a,b){return P(a,b- -0x381);}i[b6(0x3,-0x5a)]=![];i[b6(0x9,0x6e)](!![]);i[b6(-0x2a,0xe)](![]);return j;}get[P(0x469,0x3dd)](){function b7(a,b){return P(a,b- -0x29d);}return Number[b7(0x19c,0x14c)](''+Date['now']()+this[b7(0xad,0x122)]++);}[P(0x429,0x3c1)](){const d=this;function b8(a,b){return P(b,a- -0x478);}d['clearTimeout'](b8(-0xe5,-0x88));if(d['activeRequests'][b8(-0xb7,-0x11a)]){d['trigger'](b8(-0xda,-0xb3));return d[b8(-0x135,-0x145)]=d[b8(-0x135,-0xc7)]['finally'](()=>d[b8(-0xb7,-0xa7)]());}return d['activeSyncPromise']=new Promise((e,f)=>{const g=d[b9(0x55,0x34)]();if(!g){e(null);return;}function b9(a,b){return b8(a-0xe7,b);}this[b9(0x6c,-0xb)](j=>{function ba(a,b){return b9(b- -0xf4,a);}var k;return(k=j[ba(-0x11e,-0x11a)])===null||k===void 0x0?void 0x0:k[ba(-0xa2,-0xb4)]();});for(const j of Object[b9(-0x1,0x59)](g)){var h;j===null||j===void 0x0||(h=j[b9(-0x1d,-0x5b)])===null||h===void 0x0||h[b9(-0x16,-0x5b)](k=>k['__record__']['isBeingMaterialized']=!![]);}d[b9(-0x5a,-0x8b)][b9(0x30,0xe)]={'type':b9(0x30,0x9b),'pack':g,'resolve':e,'reject':f,'desc':null,'id':g[b9(0x4c,0x63)]};const i=d[b9(-0x70,-0x10)](b9(0x5a,0xe5),{'pack':g});Promise['resolve'](i)[b9(0x6d,0x51)](k=>{function bb(a,b){return b9(a- -0x100,b);}if(k!==![]){var l;d[bb(-0x170,-0x1cc)]('syncStart',{'pack':g});if((l=d['eventStore'])!==null&&l!==void 0x0&&l[bb(-0xea,-0x14f)]){var m;(m=d[bb(-0x15f,-0x177)])===null||m===void 0x0||m[bb(-0x140,-0x1c1)]();}d['activeRequests']['sync'][bb(-0xe6,-0x166)]=d[bb(-0x109,-0x136)]({'id':g[bb(-0xb4,-0x6a)],'data':d[bb(-0xfa,-0x16b)](g),'type':bb(-0xd0,-0xc7),'success':d[bb(-0x17b,-0x203)],'failure':d[bb(-0x16d,-0x1a2)],'thisObj':d});}else{d[bb(-0x170,-0x1f2)](bb(-0xe1,-0x16b),{'pack':g});d[bb(-0x15a,-0x159)]['sync']=null;f({'cancelled':!![]});}})[b9(-0x3e,-0x46)](k=>{function bc(a,b){return b9(a-0x585,b);}d[bc(0x52b,0x551)][bc(0x5b5,0x5f3)]=null;f(k);});})[b8(-0x125,-0xe8)](e=>{function bd(a,b){return b8(a- -0xd,b);}if(e&&!e[bd(-0xc5,-0xec)]){throw e;}return e;});}async[P(0x304,0x316)](d,f,g){var h;const i=this,{type:j,id:k}=g;if(i[be(0x171,0x15a)])return;let l='';g=i[be(0xdd,0xf9)][j];try{l=await d[be(0x162,0x1c5)]();}catch(n){}if(i[be(0x171,0x1f0)])return;function be(a,b){return P(b,a- -0x25a);}if(((h=g)===null||h===void 0x0?void 0x0:h['id'])!==k){throw new Error(be(0xe7,0x6f)+j+be(0x168,0x1d8));}i[be(0xdd,0x8b)][j]=null;const m=await i[be(0xec,0x91)](g,l,f,d);if(i['isDestroyed'])return;if(!m||(i[be(0xc9,0x12a)]?(m===null||m===void 0x0?void 0x0:m[be(0x19b,0x1d5)])===![]:!(m!==null&&m!==void 0x0&&m[be(0x19b,0x1bf)]))){const o={'rawResponse':d,'response':m,'request':g};if(m!==null&&m!==void 0x0&&m[be(0xcb,0x3c)]){o[be(0xcb,0x12b)]=m[be(0xcb,0x142)];}g[be(0x10a,0x12b)](new CrudManagerRequestError(o));}i[be(0x160,0x176)+_scf['capitalize'](g['type'])+'ed']=!![];g['resolve']({'response':m,'rawResponse':d,'responseText':l,'request':g});}async[P(0x306,0x324)](d,f,g){var h;function bf(a,b){return P(a,b-0x284);}const i=this;if(i[bf(0x68c,0x64f)])return;g=i['activeRequests'][g['type']];const j=f===null||f===void 0x0||(h=f['abortController'])===null||h===void 0x0?void 0x0:h['signal'],k=Boolean(j===null||j===void 0x0?void 0x0:j[bf(0x673,0x60f)]);i['afterSyncAttempt'](g);if(!k){let l,m='';try{m=await d[bf(0x5d1,0x640)]();l=i[bf(0x6b9,0x64c)](m);}catch(n){}if(i[bf(0x69c,0x64f)])return;i[bf(0x642,0x659)](g,l,m,f,d);if(i[bf(0x619,0x64f)])return;g[bf(0x56d,0x5e8)](new CrudManagerRequestError({'rawResponse':d,'request':g}));}i['activeRequests'][g[bf(0x5e7,0x585)]]=null;}['acceptChanges'](){this[bg(0x26f,0x272)]['forEach'](({store:d})=>d[bg(0x296,0x285)]());function bg(a,b){return P(a,b- -0xcc);}this[bg(0x1f8,0x255)]('acceptChanges');}[P(0x381,0x380)](){function bh(a,b){return P(b,a- -0x53d);}this[bh(-0x12e,-0x1b8)]();this[bh(-0x21c,-0x1c8)](bh(-0x1bd,-0x173));}[P(0x460,0x40f)](){function bi(a,b){return P(a,b-0x277);}const {usesSingleAssignment:d}=this[bi(0x5d8,0x5c2)];this['orderedCrudStores'][bi(0x677,0x5f2)](({store:e})=>(!e[bi(0x52d,0x5ac)]||!d)&&e[bi(0x64f,0x5f7)]());}[P(0x33e,0x379)](){const d=this,{load:e,sync:f}=d['activeRequests'];e&&d[bj(0x338,0x387)](e[bj(0x441,0x405)],e[bj(0x3b7,0x3be)]);function bj(a,b){return P(a,b-0x5a);}f&&d[bj(0x402,0x387)](f[bj(0x3be,0x405)],f[bj(0x3be,0x3be)]);while(d['crudStores'][bj(0x414,0x43b)]>0x0){d[bj(0x440,0x3c0)](d[bj(0x3b4,0x398)][0x0]);}super[bj(0x3ec,0x3d3)]&&super[bj(0x377,0x3d3)]();}get['crudStoresJSON'](){var d;const e={};function bl(a,b){return P(b,a- -0x353);}this['forEachCrudStore']((f,g)=>{e[g]=f[bk(-0xb0,-0x71)]();function bk(a,b){return _scb(a- -0x2d7,b);}if(this['includeLegacyDataProperties']){e[g+bk(-0x56,0x27)]=e[g];}});if((d=this[bl(-0x21,-0xa7)])!==null&&d!==void 0x0&&d[bl(0x54,0xa6)]){delete e['assignmentsData'];delete e['assignments'];}return e;}set['crudStoresJSON'](d){this['forEachCrudStore']((e,f)=>{function bm(a,b){return _scb(b-0x296,a);}const g=f+bm(0x4c9,0x517);if(d[f]){e['data']=d[f];}else if(d[g]){e[bm(0x490,0x452)]=d[g];}});}};};
1
+ (function(a,b){const c=a();function J(a,b){return _scb(b- -0x295,a);}while(!![]){try{const d=-parseInt(J(-0x71,-0x7))/0x1*(-parseInt(J(-0x2e,-0x1c))/0x2)+-parseInt(J(0x3f,-0x8))/0x3*(-parseInt(J(-0x48,-0x49))/0x4)+-parseInt(J(-0x35,-0x10))/0x5*(parseInt(J(0x54,-0x24))/0x6)+-parseInt(J(-0x147,-0xc3))/0x7*(-parseInt(J(0x11,0x1))/0x8)+parseInt(J(-0x4a,-0x3f))/0x9+parseInt(J(-0x8d,-0xa0))/0xa*(parseInt(J(-0x75,-0xa6))/0xb)+parseInt(J(-0x9c,-0xd2))/0xc*(-parseInt(J(0x72,0x2d))/0xd);if(d===b){break;}else{c['push'](c['shift']());}}catch(e){c['push'](c['shift']());}}}(_sca,0xc8fad));import _scc from'@bryntum/core-thin/lib/data/Store.js';import _scd from'@bryntum/core-thin/lib/mixin/Delayable.js';import _sce from'@bryntum/core-thin/lib/helper/ObjectHelper.js';import _scf from'@bryntum/core-thin/lib/helper/StringHelper.js';import _scg from'@bryntum/core-thin/lib/helper/ArrayHelper.js';import _sch from'@bryntum/core-thin/lib/helper/util/Objects.js';import _sci from'@bryntum/core-thin/lib/Base.js';function _scb(a,b){const c=_sca();_scb=function(d,e){d=d-0x1af;let f=c[d];return f;};return _scb(a,b);}import _scj from'@bryntum/core-thin/lib/mixin/Events.js';function _sca(){const bp=['addStoreToApplySequence','getRecordChangesToClear','setCrudManager','2ETeygV','\x20failed','updateUrl','length','error','beforeResponseApply','location','afterAddStore','remove','isValid','removeCrudStore','isRoot','2156095AbADQU','page','request','sync','before','autoSyncSuspendCounter','applyLoadResponse','safeJsonParse','36oZKYNs','366382lbAXHK','map','syncUrl','eventStore','crudStoreHasChanges','applyingResponse','asArray','getCrudStore','40yTqEHX','append','rows','isFieldValueEqual','resumeAutoSync','_autoLoadPromise','trackResponseType','applySyncResponse','onCrudRequestSuccess','activeRequests','toJSON','$$meta','_syncApplySequence','loadCanceled','supportShortSyncResponse','prepareUpdated','resumeChangeTracking','Apply','storeId','get','added','storeIdProperty','store','indexOf','validateLoadResponse','isEqual','entries','message','includes','removed','local','suspendFilterOnUpdate','loadUrl','getRange','internalAddCrudStore','getFieldPersistentValue','desc','_crudManagerId','__loading','_lastLoadResponse','bindCrudStoreListeners','ion','hasChanges','hasTimeout','8847761Fgmugo','now','finally','Interleaved\x20','crudStoresIndex','findInsertionIndex','Data','phantomIdField','safeJsonStringify','revertChanges','isEmpty','setPath','orderedCrudStores','Crud\x20Manager\x20request\x20failed','isEvents','changes','You\x20have\x20configured\x20an\x20URL\x20on\x20a\x20Store\x20that\x20is\x20handled\x20by\x20a\x20CrudManager\x20that\x20is\x20also\x20configured\x20with\x20an\x20URL.\x20The\x20Store\x20URL\x27s\x20should\x20be\x20removed.','tree','beforeLoadCrudManagerData','push','addPrioritizedStore','AbstractCrudManagerMixin','text','foo','afterSyncAttempt','modificationDataToWrite','capitalize','48TeMbhE','keep-loaded-data','sendRequest','afterConstruct','parentIdField','loadCrudManagerData','includeChildrenInRemoveRequest','abortController','delayable','applyingSyncResponse','requestId','find','action','onCrudStoreChange','doAutoLoad','446873kxToEy','type','applyChangesToStore','modifiedMaterialized','acceptChanges','usesSingleAssignment','deleteUrl','writeAllFields','updated','isChangeTrackingSuspended','dataSource','idField','isTestEnv','updateCrudStoreIndex','stores','meta','crudStoresJSON','afterRequest','totalCount','assign','object','has','isPaged','getLoadPackage','load','autoSyncTimeout','beforeSync','loadPriority','crudRevision','2695loYjou','unbindCrudStoreListeners','loadStart','doDestroy','triggerFailedRequestEvents','assignmentStore','51530jnLOan','suspendSortOnUpdate','internalClearChanges','undefined','forceSync','splice','construct','reduce','add','processStoreResponse','requestFail','clear','isCrudStoreDirty','Iterator\x20function\x20must\x20be\x20provided','onCrudRequestFailure','parseInt','isDestroyed','cancelRequest','call','buildStoreSyncRequestMaps','autoLoad','getActiveCrudManagerRequest','suspendAutoSync','data','getChangesetPackage','reject','source','$PhantomId','currentPage','isLoadingOrSyncing','parentId','loadCrudStore','noChanges','pageSize','transport.sync.url','isAjaxStore','loadDataToCrudStore','validateResponse','isAutoSyncSuspended','every','modified','resolve','autoSync','crudManager','success','emitCrudStoreEvents','allFields','syncApplySequence','getPath','ignoreRemoteChangesInSTM','suspendChangeTracking','Store\x20not\x20found\x20in\x20stores\x20collection','createUrl','prepareRemoved','detachListeners','$PhantomParentId','pack','processRecordResponse','addCrudStore','pathifyKeys','modelClass','subStore','forEach','isCrudManager','getCrudStoreChanges','applyResponse','activeSyncPromise','updateCrudStores','_requestId','syncConflictResolution','revision','applyingLoadResponse','mixin','getStoreDescriptor','scheduleAutoSync','isDelayable','cancelled','raf','size','persistableData','revertCrudStoreChanges','$name','setTimeout','some','resumeSortOnUpdate','name','hasApplySequenceStore','483392lKiPgP','syncPriority','prepareAddedRecordData','crudStores','idFieldProcessed','internalOnResponse','forEachCrudStore','isModel','filter','syncDelayed','9088209LmEPbK','isCrudManagerSyncing','set','catch','prepareAdded','isBeingMaterialized','applyingChangeset','__record__','updateSyncApplySequence','fillStoreDescriptor','updateLoadUrl','failure','hasCrudStore','rootNode','suspendAutoCommit','values','encode','deletePath','phantomParentIdField','trigger','url','shouldIgnoreRemoteChangesInSTM','applyChangeset','string','requestDone','assignments','onCrudStoreDestroy','12hErguX','then','warn','getById','crudIgnoreUpdates'];_sca=function(){return bp;};return _sca();}import _sck from'./mixin/AbstractCrudManagerValidation.js';import _scl from'@bryntum/core-thin/lib/helper/VersionHelper.js';export class AbstractCrudManagerError extends Error{}export class CrudManagerRequestError extends AbstractCrudManagerError{constructor(a={}){var b,c;super(a['message']||a['request']&&_scf[K(0x33d,0x2c2)]((b=a[K(0x3a6,0x387)])===null||b===void 0x0?void 0x0:b['type'])+K(0x3b5,0x37a)||K(0x2a3,0x2b5));function K(a,b){return _scb(b-0x100,a);}Object[K(0x2e0,0x2e5)](this,a);this[K(0x248,0x2cf)]=(c=this[K(0x34a,0x387)])===null||c===void 0x0?void 0x0:c[K(0x286,0x2d3)];}}const storeSortFn=function(a,b,c){if(a[L(-0xfc,-0xee)]){a=a[L(-0xa6,-0xee)];}function L(a,b){return _scb(b- -0x39a,a);}if(b['store']){b=b['store'];}a=a[c]||0x0;b=b[c]||0x0;return a<b?-0x1:a>b?0x1:0x0;},storeLoadSortFn=function(a,b){function M(a,b){return _scb(b-0x14b,a);}return storeSortFn(a,b,M(0x343,0x338));},storeSyncSortFn=function(a,b){function N(a,b){return _scb(a-0x50,b);}return storeSortFn(a,b,N(0x29d,0x22e));},cloneObject=function(a){function O(a,b){return _scb(a-0x39f,b);}return _scf[O(0x62b,0x65c)](_scf[O(0x54f,0x4cb)](a));};export default a=>{function P(a,b){return _scb(b-0xad,a);}a[P(0x389,0x34e)]=a['$meta'];const b=[];if(!a[P(0x1e5,0x263)]){b[P(0x206,0x268)](_scj);}if(!a[P(0x298,0x2ed)]){b['push'](_scd);}b[P(0x2c8,0x268)](_sck);return class c extends(a||_sci)[P(0x2eb,0x2ea)](...b){static [P(0x32a,0x2f3)]=P(0x222,0x26a);static ['configurable']={'crudRevision':null,'crudStores':[],'storeIdProperty':'id','crudFilterParam':'filter','transport':{},'trackResponseType':![],'supportShortSyncResponse':!![],'phantomIdField':'$PhantomId','phantomParentIdField':P(0x349,0x2d9),'autoLoad':![],'autoSyncTimeout':0x64,'autoSync':![],'resetIdsBeforeSync':!![],'syncApplySequence':[],'orderedCrudStores':[],'writeAllFields':![],'crudIgnoreUpdates':0x0,'autoSyncSuspendCounter':0x0,'crudLoaded':![],'applyingLoadResponse':![],'applyingSyncResponse':![],'callOnFunctions':!![],'loadUrl':null,'syncUrl':null,'forceSync':null,'ignoreRemoteChangesInSTM':![],'includeChildrenInRemoveRequest':!![],'syncConflictResolution':P(0x3e5,0x361)};static [P(0x2c8,0x278)]={'doAutoLoad':P(0x2a3,0x2ef)};get[P(0x362,0x2e1)](){return!![];}[P(0x2ef,0x2a8)](d={}){const e=this;e[Q(0x5a7,0x5c7)]=0x0;e['activeRequests']={};e[Q(0x6a5,0x654)]={};function Q(a,b){return P(a,b-0x2e1);}if(_scl[Q(0x5a7,0x56c)]&&globalThis[Q(0x591,0x60d)]['href'][Q(0x5d2,0x640)](Q(0x52f,0x552))){e[Q(0x6c8,0x64d)]({'beforeLoadCrudManagerData'({response:f}){function R(a,b){return Q(b,a- -0x311);}e[R(0x33a,0x347)]=cloneObject(f);},'load'(){function S(a,b){return Q(a,b- -0x4bc);}e['_lastLoadedData']=cloneObject(e[S(0x14b,0x172)]());},'once':!![]});}super[Q(0x50d,0x589)](d);}[P(0x284,0x273)](){function T(a,b){return P(b,a- -0x1d5);}super[T(0x9e,0xd6)]();if(this[T(0xe1,0xc8)]){this['_autoLoadPromise']=this['doAutoLoad']();}}get['loadUrl'](){function U(a,b){return P(b,a- -0x70);}var d;return(d=this['transport'])===null||d===void 0x0||(d=d['load'])===null||d===void 0x0?void 0x0:d[U(0x2a7,0x2c5)];}[P(0x2af,0x30d)](d){function V(a,b){return P(b,a-0x33a);}_sce[V(0x59a,0x5e4)](this,'transport.load.url',d);}get[P(0x2c5,0x33d)](){var d;function W(a,b){return P(a,b- -0x175);}return(d=this['transport'])===null||d===void 0x0||(d=d[W(0x20b,0x1c0)])===null||d===void 0x0?void 0x0:d[W(0x20e,0x1a2)];}['updateSyncUrl'](d){function X(a,b){return P(a,b-0x26c);}_sce[X(0x549,0x4cc)](this,X(0x589,0x530),d);}get[P(0x369,0x318)](){function Y(a,b){return P(b,a- -0x190);}return this[Y(0x143,0x1bc)];}[P(0x2eb,0x2eb)](d){function Z(a,b){return P(a,b- -0x466);}if(!d){return null;}if(d instanceof _scc){d=d['_crudManagerId']||d['id'];}else if(typeof d===Z(-0x1e7,-0x1d3)){d=d['storeId'];}return this['crudStoresIndex'][d];}['fillStoreDescriptor'](d){const {store:e}=d,{storeIdProperty:storeIdProperty=this[a0(0x678,0x5f6)],modelClass:f}=e;if(!d[a0(0x675,0x63b)]){d[a0(0x675,0x5fd)]=e[storeIdProperty]||e['id'];}if(!d['idField']){d[a0(0x5aa,0x60e)]=f[a0(0x5aa,0x56b)];}if(!d[a0(0x57c,0x5ef)]){d[a0(0x57c,0x51c)]=f['phantomIdField'];}function a0(a,b){return P(b,a-0x320);}if(!d[a0(0x635,0x69e)]){d[a0(0x635,0x6af)]=f[a0(0x635,0x617)];}if(!(a0(0x5a6,0x623)in d)){d[a0(0x5a6,0x5a5)]=e[a0(0x5a6,0x615)];}return d;}[P(0x292,0x28c)](){function a1(a,b){return P(a,b- -0x3e4);}const d=this[a1(-0x9a,-0x71)]={};this[a1(-0x106,-0xe8)][a1(-0xf9,-0x104)](e=>e[a1(-0xe1,-0x8f)]&&(d[e[a1(-0xed,-0x8f)]]=e));}[P(0x3b4,0x342)](d){function a2(a,b){return P(b,a- -0x1f5);}const e=this[a2(0xf6,0x88)](d);return e===null||e===void 0x0?void 0x0:e['store'];}[P(0x293,0x2ff)](d,e=this){if(!d){throw new Error(a3(0x42b,0x482));}function a3(a,b){return P(b,a-0x17c);}this[a3(0x478,0x468)][a3(0x445,0x3ee)](f=>d[a3(0x430,0x42f)](e,f[a3(0x4d5,0x50c)],f[a3(0x4d1,0x4b9)],f)!==![]);}[P(0x290,0x2e5)](d){this['_crudStores']=[];this[a4(0x3d3,0x395)](d);function a4(a,b){return P(b,a-0xf7);}for(const e of this['_crudStores']){e['loadPriority']=e[a4(0x3f1,0x3ad)]=0x0;}}[P(0x37a,0x30b)](d){this[a5(0x435,0x42f)]=[];function a5(a,b){return P(a,b-0xe0);}this[a5(0x42a,0x403)](d);}[P(0x3d7,0x365)](d){const e=this;let f;if(d instanceof _scc){f={'store':d};}else if(typeof d==='object'){f=d[a6(0x3b1,0x400)]?d:{'store':new _scc(d)};}else{f={'store':_scc['getStore'](d)};}e[a6(0x340,0x3b3)](f);d=f[a6(0x470,0x400)];if(d['setCrudManager']){d[a6(0x403,0x3cc)](e,f);}d[a6(0x370,0x374)]=e;d[a6(0x3e8,0x40f)]=f[a6(0x43d,0x3fc)];if(d[a6(0x371,0x36c)]){d[a6(0x369,0x36a)]=null;}if(e[a6(0x42f,0x40a)]||e[a6(0x3b3,0x3e4)]){d['autoCommit']=![];d[a6(0x30a,0x35d)]=![];if(d[a6(0x370,0x37d)]||d[a6(0x3a0,0x3cf)]||d[a6(0x2ad,0x32c)]||d['readUrl']){console[a6(0x346,0x3c7)](a6(0x321,0x30c));}}function a6(a,b){return P(a,b-0xa7);}e[a6(0x463,0x412)](d);return f;}[P(0x284,0x2dc)](d,e,f){var g,h;d=_scg[a7(0x12c,0x195)](d);if(!((g=d)!==null&&g!==void 0x0&&g[a7(0x194,0x17d)])){return;}function a7(a,b){return P(a,b- -0x1ac);}const i=this,j=d[a7(0x189,0x190)](i[a7(0x1a3,0x1b9)],i);if(typeof e===a7(0xbc,0xf9)){i['crudStores'][a7(0xb4,0xbc)](...j);}else{if(f){if(f instanceof _scc||typeof f!==a7(0xc3,0xe7))f=i[a7(0xd9,0x13f)](f);e+=i[a7(0x1cd,0x150)][a7(0x164,0x1ae)](f);}i[a7(0xc6,0x150)][a7(0x12e,0xfb)](e,0x0,...j);}i['orderedCrudStores'][a7(0x13a,0xbc)](...j);i[a7(0x142,0xe0)]();(h=i[a7(0x136,0x181)])===null||h===void 0x0||h['call'](i,j);}[P(0x24e,0x269)](d){function a8(a,b){return P(b,a- -0x33e);}const e=this;if(!e[a8(-0x2f,-0x1f)](d)){e[a8(-0x62,-0xe1)](d,_scg['findInsertionIndex'](d,e[a8(-0x42,-0x7)],storeLoadSortFn));}if(!e[a8(-0x46,0x3f)](d)){e[a8(-0x1b,-0x3d)](d,_scg[a8(0x36,-0x7)](d,e['syncApplySequence'],storeSyncSortFn));}}[P(0x282,0x30f)](d){var e;function a9(a,b){return P(a,b- -0x17e);}return(e=this[a9(0x14e,0x17e)])===null||e===void 0x0?void 0x0:e[a9(0x177,0x177)](f=>f===d||f[a9(0x25c,0x1db)]===d||f[a9(0x1bd,0x1d7)]===d);}[P(0x34f,0x330)](d){function aa(a,b){return P(b,a- -0x1ce);}const e=this,{crudStores:f,orderedCrudStores:g}=e,h=e[aa(0x11d,0x144)](d);if(h){e['unbindCrudStoreListeners'](h[aa(0x18b,0x1c2)]);_scg[aa(0x160,0x115)](f,h);_scg[aa(0x160,0x161)](g,h);e['removeStoreFromApplySequence'](h);delete e[aa(0x1a5,0x214)][h[aa(0x187,0x151)]];}else{throw new Error(aa(0x107,0xf7));}}[P(0x33c,0x36b)](d){function ab(a,b){return P(b,a- -0x28);}d['ion']({'name':d['id'],'addConfirmed':'onCrudStoreChange','change':ab(0x255,0x23d),'destroy':ab(0x2f5,0x2a9),'thisObj':this});}[P(0x315,0x29d)](d){function ac(a,b){return P(b,a- -0x389);}this[ac(-0xb1,-0x73)](d['id']);}[P(0x2fe,0x323)](d,e,f){if(!d){return;}d=_scg['asArray'](d);const g=this,h=d[ad(0x490,0x50c)]((j,k)=>{function ae(a,b){return ad(b- -0x3f4,a);}const l=g[ae(0x125,0xde)](k);l&&j[ae(0xd6,0x5b)](l);return j;},[]);function ad(a,b){return P(b,a-0x1e7);}if(typeof e==='undefined'){g[ad(0x4b8,0x4df)][ad(0x44f,0x449)](...h);}else{let j=e;if(f){if(f instanceof _scc||typeof f!==ad(0x47a,0x4ac))f=g[ad(0x4d2,0x4cd)](f);j+=g[ad(0x4b8,0x524)]['indexOf'](f);}g[ad(0x4b8,0x485)][ad(0x48e,0x501)](j,0x0,...h);}const i=g[ad(0x4b8,0x4ee)][ad(0x523,0x52d)](({storeId:k})=>k);g[ad(0x448,0x3ca)]=[...g['syncApplySequence']];g[ad(0x4e3,0x4d8)][ad(0x4c7,0x4b0)](k=>{function af(a,b){return ad(a- -0x243,b);}if(!i[af(0x303,0x280)](k[af(0x2f9,0x31b)])){g[af(0x205,0x231)][af(0x20c,0x27c)](k);}});}['removeStoreFromApplySequence'](d){const {syncApplySequence:e}=this,f=this['getStoreDescriptor'](d);function ag(a,b){return P(b,a- -0x2fa);}if(e&&f){_scg[ag(0x34,0x18)](e,f);}}[P(0x26c,0x2f8)](d){function ah(a,b){return P(a,b- -0x390);}return this['syncApplySequence'][ah(-0x10e,-0x9b)](e=>e===d||e['store']===d||e[ah(0x46,-0x3b)]===d);}['onCrudStoreDestroy']({source:d}){function ai(a,b){return P(b,a-0x207);}this[ai(0x537,0x57f)](d);}['onCrudStoreChange'](d){function aj(a,b){return P(b,a- -0x22a);}const e=this,f=d===null||d===void 0x0?void 0x0:d[aj(0x92,0xb9)];if(f){const g=e[aj(0xc1,0x13c)](f);if(g&&!g[aj(0xd3,0x140)]&&f[aj(0xb4,0x8f)][aj(0xd3,0xa4)]){g[aj(0x60,0xaf)]=f[aj(0xb4,0xff)][aj(0x60,0xb)];g[aj(0xd3,0xa9)]=!![];}}if(e[aj(0xf8,0x14f)]){return;}if(e[aj(0x115,0xbf)](d===null||d===void 0x0?void 0x0:d[aj(0x92,0x42)])){e[aj(0xec,0x6e)]('hasChanges');if(e[aj(0xa2,0xc6)]){e[aj(0xc2,0xe8)]();}}else if(!e[aj(0x115,0xc6)]()){e[aj(0xec,0xe5)](aj(0x98,0x64));}}['suspendAutoSync'](){function ak(a,b){return P(a,b-0xac);}this[ak(0x3e7,0x3e3)]++;this[ak(0x388,0x3ab)](d=>d[ak(0x375,0x3bd)]());}[P(0x352,0x347)](d=!![]){const e=this;e[al(0x1cf,0x152)]--;function al(a,b){return P(b,a- -0x168);}e[al(0x197,0x10f)](f=>f['resumeAutoCommit'](d));if(e[al(0x1cf,0x209)]<=0x0){e[al(0x1cf,0x16e)]=0x0;if(d&&e[al(0x164,0x124)]&&e[al(0x1d7,0x1f9)]()){e[al(0x184,0x202)]();}}}get[P(0x2bb,0x2c8)](){function am(a,b){return P(b,a- -0xae);}return this[am(0x289,0x21b)]>0x0;}[P(0x2f5,0x2ec)](){const d=this;function an(a,b){return P(b,a- -0x3c);}if(!d[an(0x332,0x3ba)](an(0x290,0x28c))&&!d[an(0x28c,0x254)]){d[an(0x2b8,0x31c)]({'name':'autoSync','fn':()=>{function ao(a,b){return an(a- -0x378,b);}d[ao(-0x7f,-0x2c)]()['catch'](e=>{});},'delay':d[an(0x25c,0x2ad)]});}}async['triggerFailedRequestEvents'](d,e,f,g,h){const {options:i,type:j}=d;function ap(a,b){return P(b,a- -0x3c);}this[ap(0x2da,0x317)](ap(0x270,0x287),{'requestType':j,'response':e,'responseText':f,'requestOptions':g,'rawResponse':h,'responseOptions':g});this[ap(0x2da,0x264)](j+'Fail',{'response':e,'requestOptions':g,'responseText':f,'options':i,'rawResponse':h,'responseOptions':g});}async[P(0x330,0x2fe)](d,e,f,g){const h=this,i=e?h['decode'](e):null,{options:j,type:k}=d;if(e&&!i){console[aq(0x529,0x55f)]('Failed\x20to\x20parse\x20response:\x20'+e);}if(!i||(h['skipSuccessProperty']?i['success']===![]:!i[aq(0x4cd,0x455)])){h['triggerFailedRequestEvents'](d,i,e,f);}else if(h[aq(0x515,0x520)](aq(0x52a,0x535),{'requestType':k,'response':i})!==![]&&h[aq(0x515,0x4b0)](aq(0x535,0x591)+_scf['capitalize'](k)+aq(0x553,0x4cc),{'response':i,'options':j})!==![]){h[aq(0x49a,0x521)]=i[aq(0x4e7,0x550)];h[aq(0x46c,0x47f)](d);await h[aq(0x4e2,0x4e5)](d,i,j);if(h[aq(0x4b1,0x454)]){return;}h[aq(0x515,0x514)](aq(0x51a,0x52e),{'requestType':k,'response':i,'requestOptions':f,'rawResponse':g,'responseOptions':f});h['trigger'](k,{'response':i,'requestOptions':f,'options':j,'rawResponse':g,'responseOptions':f});if(k==='load'||!h[aq(0x53e,0x541)]()){h['trigger'](aq(0x4c1,0x440));if(k===aq(0x496,0x431)){h[aq(0x4ce,0x53b)](d[aq(0x4d9,0x521)][aq(0x48c,0x486)],aq(0x48f,0x4b8));}}}function aq(a,b){return P(b,a-0x1ff);}return i;}[P(0x2e2,0x26d)](d){function ar(a,b){return P(b,a-0x20c);}for(const f of Object[ar(0x51e,0x58d)](d[ar(0x4e6,0x49a)])){var e;f===null||f===void 0x0||(e=f[ar(0x563,0x4e8)])===null||e===void 0x0||e['forEach'](g=>g[ar(0x516,0x4cb)][ar(0x514,0x50b)]=![]);}}['suspendChangeTracking'](){this['crudIgnoreUpdates']++;function as(a,b){return P(a,b- -0x328);}this[as(-0x31,-0x2c)][as(0x21,-0x48)](({store:d})=>{d[at(-0x55,-0x77)]();function at(a,b){return as(b,a- -0x8f);}d[at(-0x114,-0x196)]();});}[P(0x335,0x353)](d){this['crudStores']['forEach'](({store:e})=>{e['resumeFilterOnUpdate']();function au(a,b){return _scb(a- -0x181,b);}e[au(0xc8,0x63)]();});function av(a,b){return P(a,b- -0x112);}if(this[av(0x237,0x210)]&&!--this[av(0x1c4,0x210)]&&!d){this[av(0x107,0x16b)]();}}get[P(0x206,0x288)](){function aw(a,b){return P(a,b-0x32f);}return this[aw(0x5d9,0x651)]>0x0;}['crudStoreHasChanges'](d){function ax(a,b){return P(a,b- -0x2ec);}return d?this[ax(-0x23,-0x3e)](this[ax(0xab,0x56)](d)):this[ax(-0xc,0x10)][ax(0x7a,0x9)](e=>this[ax(-0x15,-0x3e)](e[ax(0x19,0x6d)]));}[P(0x22b,0x2ae)](d){function ay(a,b){return P(a,b-0x84);}return d[ay(0x41d,0x3f1)];}[P(0x245,0x27e)](){function az(a,b){return P(b,a-0x333);}return this[az(0x5ca,0x5e7)]()[az(0x639,0x60c)](d=>{});}['emitCrudStoreEvents'](d,e,f){const g={'action':'read'+e,...f};function aA(a,b){return P(a,b-0xcb);}for(const h of this['crudStores']){if(d[aA(0x402,0x42a)](h[aA(0x45b,0x420)])){h[aA(0x3b2,0x424)][aA(0x37f,0x3e1)](e,g);}}}[P(0x2ac,0x296)](d){const e={'type':aB(0x576,0x520),'requestId':this[aB(0x559,0x548)]},f=this[aB(0x5db,0x5c0)],g={...d};delete g[aB(0x613,0x665)];e[aB(0x56c,0x514)]=f[aB(0x61b,0x6a1)](h=>{function aC(a,b){return aB(a- -0x25c,b);}var i;const j=g===null||g===void 0x0?void 0x0:g[h['storeId']],k=h[aC(0x318,0x303)]||((i=h[aC(0x3dc,0x439)])===null||i===void 0x0?void 0x0:i[aC(0x318,0x2af)]);if(j||k){var l;const m=h[aC(0x346,0x2f4)]??((l=h[aC(0x3dc,0x3a4)])===null||l===void 0x0?void 0x0:l['pageSize']),n={'storeId':h[aC(0x3d8,0x3b4)],'page':0x1,...j};if(m){n[aC(0x346,0x2dd)]=m;}h[aC(0x341,0x339)]=n[aC(0x3b6,0x439)];if(j){delete g[h[aC(0x3d8,0x441)]];}return n;}return h['storeId'];});Object[aB(0x571,0x5ee)](e,g);function aB(a,b){return P(b,a-0x2df);}return e;}[P(0x340,0x2c1)](d,e,f){const g=e===null||e===void 0x0?void 0x0:e[aD(-0x16,0x22)];if(f!==null&&f!==void 0x0&&f[aD(0x2b,0x21)]||e!==null&&e!==void 0x0&&e[aD(0x3b,0x21)]){d['add'](g,![],{'clean':!![]});}else{d[aD(-0x2a,-0x6a)]=g;}function aD(a,b){return P(a,b- -0x323);}d['trigger'](aD(-0x21,-0x8c),{'data':g});}[P(0x2e9,0x2c6)](d,e,f){const g=d[aE(0x250,0x2d9)],h=e===null||e===void 0x0?void 0x0:e[aE(0x23c,0x218)];function aE(a,b){return P(b,a- -0x109);}g[aE(0x260,0x236)]=!![];if(h){this['loadCrudStore'](g,e,f,d);}g[aE(0x260,0x275)]=![];}[P(0x2dc,0x275)](d,e={}){const f=this;f[aF(0x55a,0x4dd)](aF(0x3a6,0x42e),{'response':d,'options':e});f[aF(0x51a,0x49b)]();f[aF(0x467,0x4c3)][aF(0x526,0x4a7)](g=>{const h=g['storeId'],i=d[h];if(i){f['loadDataToCrudStore'](g,i,e[h]);}});f[aF(0x5a6,0x51a)](!![]);function aF(a,b){return P(a,b-0x1c7);}f[aF(0x498,0x4dd)](aF(0x497,0x43c),{'response':d,'options':e});}get['isCrudManagerLoading'](){function aG(a,b){return P(a,b-0x113);}return Boolean(this[aG(0x4d3,0x45f)][aG(0x404,0x3aa)]||this['applyingLoadResponse']);}get[P(0x2df,0x304)](){function aH(a,b){return P(b,a- -0x449);}return Boolean(this['activeRequests'][aH(-0x114,-0xc3)]||this[aH(-0x1d0,-0x1a9)]);}get[P(0x2b9,0x2bf)](){function aI(a,b){return P(a,b- -0x38);}return Boolean(this['isCrudManagerLoading']||this[aI(0x2e6,0x2cc)]);}['load'](d){function aJ(a,b){return P(b,a- -0x3a);}if(typeof d===aJ(0x2e0,0x2b5)){d={'request':{'url':d}};}const e=this,f=e[aJ(0x25c,0x27e)](d);e[aJ(0x30e,0x293)]=null;return new Promise((g,h)=>{function aK(a,b){return aJ(a- -0x10d,b);}if(e[aK(0x1cf,0x191)]('beforeLoad',{'pack':f})!==![]){var i;const {load:j}=e['activeRequests'];if(j){e[aK(0x16c,0x1d0)](j[aK(0x220,0x244)],j['reject']);e[aK(0x1cf,0x1d1)](aK(0x209,0x1d3),{'pack':f});}const k=_sch[aK(0x14b,0xbf)]({'id':f[aK(0x133,0xcf)],'data':e['encode'](f),'type':aK(0x150,0x18d),'success':e[aK(0x204,0x1d5)],'failure':e[aK(0x169,0x17a)],'thisObj':e},(i=d)===null||i===void 0x0?void 0x0:i[aK(0x1ed,0x18b)]);e[aK(0x205,0x244)]['load']={'type':aK(0x150,0x1be),'options':d,'pack':f,'resolve':g,'reject'(...l){var m;function aL(a,b){return aK(b- -0x25a,a);}k[aL(-0xa2,-0xd3)]=k[aL(-0xdd,-0x93)]=null;if(!((m=l[0x0])!==null&&m!==void 0x0&&m[aL(-0x112,-0xb3)])){h(...l);}},'id':f['requestId'],'desc':e[aK(0x12b,0x10a)](k)};e['emitCrudStoreEvents'](f['stores'],aK(0x157,0x1cc));e[aK(0x1cf,0x1a3)]('loadStart',{'pack':f});}else{e[aK(0x1cf,0x255)](aK(0x209,0x1ce),{'pack':f});h({'cancelled':!![]});}});}[P(0x32d,0x2b7)](d){let e=this[aM(0x1ca,0x221)][d];if(!e&&this[aM(0x196,0x21e)]){e=Object[aM(0x21c,0x1e7)](this['activeRequests'])[0x0];}function aM(a,b){return P(a,b- -0x12b);}return e;}[P(0x29c,0x2fb)](d,e){const f=this,{store:g}=e,{isTree:h}=g,i=e[aN(0x56f,0x4f7)]||f[aN(0x56f,0x56d)],j=e['phantomParentIdField']||f['phantomParentIdField'],k=g['modelClass'][aN(0x5e3,0x609)][aN(0x614,0x679)](n=>n[aN(0x5f2,0x671)]),l=d['constructor'],m=Object['assign'](d[aN(0x604,0x66b)],{[i]:d['id']});d['$isPhantom']=!![];if(h){const {parent:n}=d;if(n&&!n[aN(0x644,0x669)]&&n['isPhantom']){m[j]=n['id'];}}function aN(a,b){return P(b,a-0x313);}if(f['resetIdsBeforeSync']){_sce[aN(0x627,0x60e)](m,l[aN(0x59d,0x5d0)]);}k[aN(0x5f3,0x607)](o=>{function aO(a,b){return aN(b- -0x1ea,a);}const p=d[aO(0x4bb,0x47f)](o['name']);if(p[aO(0x35b,0x3ba)]){m[o[aO(0x3ed,0x3b2)]]={'added':p[aO(0x476,0x48d)]()[aO(0x4df,0x465)](q=>f['prepareAddedRecordData'](q,{'store':p}))};}});Object['defineProperty'](m,aN(0x61d,0x622),{'value':d,'enumerable':![]});return m;}[P(0x38c,0x307)](d,e){function aP(a,b){return P(a,b-0x15b);}return d[aP(0x467,0x45c)](f=>f[aP(0x42a,0x48a)])[aP(0x434,0x497)](f=>this[aP(0x465,0x456)](f,e));}[P(0x338,0x352)](d,e){function aQ(a,b){return P(b,a-0xfa);}const {store:f}=e,{isTree:g}=f,h=e[aQ(0x380,0x33c)]||e['writeAllFields']!==![]&&this[aQ(0x380,0x2f6)],i=e[aQ(0x40f,0x3e2)]||this[aQ(0x40f,0x3ec)],j=f[aQ(0x3d8,0x36e)][aQ(0x3ca,0x3c5)][aQ(0x3fb,0x376)](k=>k['subStore']);if(e[aQ(0x453,0x41d)][aQ(0x360,0x2d8)]){const k=e['store'][aQ(0x40a,0x45d)];d=d['filter'](l=>l!==k);}return d['filter'](l=>l[aQ(0x429,0x4a9)])['reduce']((l,m)=>{let n;if(h){n=m[aR(0x236,0x2bd)];}else{n=m['modificationDataToWrite'];}if(g){const {parent:o}=m;if(o&&!o[aR(0x276,0x29c)]&&o['isPhantom']){n[i]=o['id'];}}j[aR(0x225,0x1fc)](p=>{const q=m[aS(0x369,0x381)](p[aS(0x389,0x322)]);function aS(a,b){return aR(b-0xe6,a);}n[p[aS(0x340,0x2b4)]]=this[aS(0x290,0x30d)]({'store':q});});if(!_sce[aR(0x1a4,0x1ab)](n)){l[aR(0x1ad,0x1b6)](n);}function aR(a,b){return aQ(a- -0x1b5,b);}return l;},[]);}[P(0x311,0x2d7)](d,{store:e}){let f;if(!this[aT(0x4c0,0x4a6)]){f=[];for(const h of d){var g;const i=h[aT(0x4e0,0x4f0)]??((g=h[aT(0x4bc,0x4be)][aT(0x476,0x4fa)])===null||g===void 0x0?void 0x0:g['parentId']);if(i!=null&&(i===e['rootNode']['id']||!d['some'](j=>j['id']===i))){f[aT(0x509,0x498)](h);}}}else{f=d;}function aT(a,b){return P(a,b-0x230);}return f['map'](j=>_sce[aT(0x499,0x490)]({},j['constructor'][aT(0x48d,0x4ba)],j['id']));}[P(0x362,0x2e2)](d){var e;const {store:f}=d;function aU(a,b){return P(b,a- -0x1e8);}let {added:added=[],modified:g=[],removed:removed=[]}=f[aU(0x7c,0x5)]||{},h;if(added['length']){added=this['prepareAdded'](added,d);}if(g[aU(0x141,0x1c4)]||(e=f[aU(0x9a,0xf7)])!==null&&e!==void 0x0&&e[aU(0x108,0x17d)]){g=this[aU(0x16a,0x112)]([...g,...f[aU(0x9a,0xda)]??[]],d);}if(removed[aU(0x141,0x15b)]){removed=this[aU(0xef,0x9f)](removed,d);}if(added[aU(0x141,0xf2)]||g[aU(0x141,0xfe)]||removed[aU(0x141,0xf6)]){h={};if(added[aU(0x141,0x116)])h[aU(0x16f,0x1d2)]=added;if(g[aU(0x141,0xb4)])h[aU(0x9f,0x31)]=g;if(removed[aU(0x141,0x107)])h[aU(0x178,0x113)]=removed;}return h;}['getChangesetPackage'](){function aV(a,b){return P(a,b- -0x410);}const {changes:d}=this;return d||this[aV(-0x1e7,-0x16a)]?{'type':'sync','requestId':this[aV(-0x11a,-0x196)],'revision':this['crudRevision'],...d}:null;}get[P(0x2e3,0x264)](){const d={};this[aW(0x225,0x2a6)]['forEach'](e=>{function aX(a,b){return aW(b- -0x278,a);}const f=this['getCrudStoreChanges'](e);if(f){d[e[aX(0x59,0x6)]]=f;}});function aW(a,b){return P(b,a- -0xd7);}return Object['keys'](d)[aW(0x252,0x25f)]>0x0?d:null;}[P(0x337,0x346)](d,e,f){function aY(a,b){return P(a,b-0x132);}return d!==null&&d!==void 0x0&&d[aY(0x4c9,0x48e)]?d[aY(0x40b,0x48e)](e,f):_sce[aY(0x46a,0x48e)](e,f);}[P(0x258,0x2db)](d,e,f,g,h,i){const j=d[aZ(0x1a1,0x1cc)]||this[aZ(0x252,0x1cc)],{fieldDataSourceMap:k}=d[aZ(0x25d,0x23e)][aZ(0x249,0x1c3)],{idField:l,phantomIdField:phantomIdField=this[aZ(0x154,0x141)]}=d;let m={};function aZ(a,b){return P(a,b- -0x11b);}if(j==='local'){for(const [n,o]of Object[aZ(0x223,0x242)](h)){let p=![];const q=k[n];if(q&&n!==phantomIdField&&(e||i)){const r=e?e[aZ(0x2b3,0x24b)](q):i[n];let s=n in g,t=g[n];if(n===l&&g[phantomIdField]){s=s||phantomIdField in g;t=g[phantomIdField];}p=s&&!this[aZ(0x2b5,0x22b)](q,t,r)||n!==l&&this['isFieldValueEqual'](q,o,r);}if(!p){_sce['setPath'](m,n,o);}}}else{m=f;}return m;}[P(0x2a6,0x324)](d,e,f,g,h=null){const {store:i}=d,{fieldDataSourceMap:j}=i[b0(0x148,0x1cf)],k=i['isTree']&&i[b0(0x148,0x1b4)][b0(0xde,0x144)];function b0(a,b){return P(b,a- -0x196);}let l=![],m;if(g){m={};for(const [n,o]of Object[b0(0x1c7,0x17f)](e)){let p=j[n];if(!p&&n===k){p={'name':b0(0x12a,0x100)};}if(p&&n in g){const q=g[n];if(this[b0(0x1b0,0x23d)](p,o,q)||f&&this[b0(0x1b0,0x21d)](p,q,f[n])){m[p[b0(0x161,0x11a)]]=h?h[p[b0(0x161,0x1d5)]]:!![];l=!![];}}}}return l?m:null;}[P(0x226,0x2ab)](d,e,f){const g=this,{supportShortSyncResponse:h}=g,{idField:i,store:j,phantomIdField:phantomIdField=g[b1(0x17e,0x13a)]}=d,{addedMap:k,updatedMap:l,removedMap:m}=g[b1(0x1c8,0x193)](d,f,e),n=new Map(),o=new Map(),p=[],q=[],r=new Set();for(const s of(e===null||e===void 0x0?void 0x0:e['rows'])||[]){const t=_sce['getPath'](s,i),u=_sce[b1(0x218,0x1b0)](s,phantomIdField),v=k[b1(0x22c,0x234)](u)||l['get'](t),w=j[b1(0x1d1,0x1ff)](u||t)||j[b1(0x212,0x23e)][b1(0x2a5,0x234)](u||t),x=w===null||w===void 0x0?void 0x0:w['modificationDataToWrite'],y=_sce[b1(0x209,0x1bb)](v),z=_sce[b1(0x19a,0x1bb)](s),A=g[b1(0x14a,0x1b9)](d,w,s,y,z,x);if(A){if(t){n[b1(0x1fb,0x1e3)](t,A);}if(u){n[b1(0x1b5,0x1e3)](u,A);}if(w){q['push'](A);}else{p[b1(0xfb,0x146)](A);}}}function b1(a,b){return P(a,b- -0x122);}for(const B of[...k['values'](),...l['values']()]){const C=_sce[b1(0x1b5,0x1b0)](B,phantomIdField),D=_sce[b1(0x22b,0x1b0)](B,i),E=j[b1(0x26d,0x1ff)](C||D)||j['removed'][b1(0x217,0x234)](C||D),F=n[b1(0x22a,0x234)](D)||n[b1(0x23e,0x234)](C);if(E&&(h||n['has'](D)||n[b1(0x102,0x172)](C))){o['set'](E,g[b1(0x267,0x202)](d,_sce['pathifyKeys'](B),F,E[b1(0x1ae,0x14c)]));}}for(const G of[...(e===null||e===void 0x0?void 0x0:e['removed'])||[],...g[b1(0x2a1,0x22f)]?m['values']():[]]){const H=_sce['getPath'](G,i);if((j['getById'](H)||j[b1(0x25e,0x23e)]['includes'](H))&&!n[b1(0x1c3,0x172)](H)){r[b1(0x1f3,0x188)](H);}}return{'added':p,'updated':q,'removed':[...r][b1(0x24f,0x21a)](I=>({[i]:I})),'clearChanges':o};}[P(0x2f6,0x2b5)]({idField:d,phantomIdField:phantomIdField=this[P(0x2e1,0x25c)]},e){const f=new Map(),g=new Map(),h=new Map();if(e){for(const i of e['added']||[]){const j=_sce[b2(0xb1,0x2f)](i,phantomIdField);f[b2(0xe4,0x124)](j,i);}for(const k of e[b2(0x66,0x3d)]||[]){const l=_sce[b2(0xb1,0x13d)](k,d);g[b2(0xe4,0x103)](l,k);}for(const m of e[b2(0x13f,0xe3)]||[]){const n=_sce[b2(0xb1,0xe4)](m,d);h[b2(0xe4,0x167)](n,m);}}function b2(a,b){return P(b,a- -0x221);}return{'addedMap':f,'updatedMap':g,'removedMap':h};}['applyChangesToStore'](d,e,f){const g=this,h=d['phantomIdField']||g[b3(0x5c0,0x590)],{store:i}=d,{modelClass:j}=i,k=j['getFieldDataSource']('id'),l=j[b3(0x60c,0x604)][b3(0x611,0x635)](u=>u['subStore']),{added:m,updated:n,removed:o,clearChanges:p}=g[b3(0x5c8,0x5df)](d,e,f);const q=[];if(n[b3(0x649,0x65d)]&&l[b3(0x678,0x65d)]){for(const u of n){var r,s;const v=i[b3(0x67f,0x655)](u[h]??u[k]),w=f&&(((r=f[b3(0x6b2,0x68b)])===null||r===void 0x0?void 0x0:r[b3(0x55e,0x5af)](y=>y[h]==u[h]))||((s=f[b3(0x63e,0x5bb)])===null||s===void 0x0?void 0x0:s['find'](y=>y[k]==u[k]))),x={};for(const y of l){const {dataSource:z}=y,A=g[b3(0x62d,0x640)]({'store':v['get'](y[b3(0x68b,0x62b)])});g[b3(0x617,0x5b5)](A,u[z],w===null||w===void 0x0?void 0x0:w[z]);x[z]=b3(0x5a8,0x5a0);delete u[z];}q[b3(0x623,0x59c)]([v,x]);}}let t;if(o[b3(0x682,0x65d)]||m[b3(0x697,0x65d)]||n[b3(0x6c6,0x65d)]){t=i[b3(0x62b,0x64d)]({'removed':o,'added':m,'updated':n},null,h,!![],!![]);}q[b3(0x5ef,0x614)](([B,C])=>Object['assign'](t['get'](B['id']),C));for(const [B,C]of p){if(C){const D=B[b3(0x5f1,0x634)]?B:i[b3(0x69a,0x655)](B);D[b3(0x663,0x5d8)](![],!![],C);}}function b3(a,b){return P(a,b-0x334);}i[b3(0x610,0x64a)]('appliedCrudChangesToStore',{'crudManager':g});return t;}[P(0x2ff,0x34a)](d,e){const f=this,{orderedCrudStores:g,supportShortSyncResponse:h}=f;f[b4(0x95,0x10a)]=f[b4(0x5,0x7d)]=!![];f['suspendChangeTracking']();function b4(a,b){return P(b,a- -0x274);}for(const j of g){const k=d[j[b4(0xe1,0xb7)]];if(k||h){var i;f[b4(0xd,-0x18)](j,k,e===null||e===void 0x0||(i=e['pack'])===null||i===void 0x0?void 0x0:i[j[b4(0xe1,0xd6)]]);}}f[b4(0xdf,0x102)](!![]);f['applyingChangeset']=f['applyingSyncResponse']=![];}async[P(0x2c7,0x338)](d,e){function b5(a,b){return P(a,b- -0xeb);}this[b5(0x1f7,0x1fe)]=!![];await this[b5(0x14e,0x18a)](d,e);this[b5(0x287,0x1fe)]=![];}async[P(0x34a,0x2e3)](d,e,f){const g=this,h=g['trackResponseType']&&e[b6(-0x4e,0x2a)]||d[b6(0x73,0x2a)],{applyingResponse:i}=g;g[b6(0xc7,0xea)]=!![];function b6(a,b){return P(a,b- -0x256);}switch(h){case b6(-0xc,0x41):if(g[b6(0x75,0x71)]){g[b6(0xfe,0x105)](e,f);}await g[b6(0x78,0xe2)](e,f);break;case b6(0x94,0xdf):if(g[b6(0x46,0x71)]){g['validateSyncResponse'](e,d);}g[b6(0x177,0xf4)](e,d);break;}g[b6(0xa6,0xea)]=i;}['applyChangeset'](d,e=null,f=P(0x245,0x2bd),g=!![],h=![]){const i=this,j=h?new Map():undefined;i[b7(0x32c,0x2d5)]=!![];i[b7(0x2db,0x306)]();i[b7(0x2f7,0x28b)]();for(const {store:k,phantomIdField:l}of i['orderedCrudStores']){if(d[k['id']]){const m=k['applyChangeset'](d[k['id']],e,l||i[b7(0x27f,0x21b)],g,h);if(m){j[b7(0x328,0x376)](k['id'],m);}}}i[b7(0x32c,0x2a4)]=![];i[b7(0x376,0x31d)](!![]);i[b7(0x36a,0x3bc)](![]);function b7(a,b){return P(b,a-0x23);}return j;}get[P(0x268,0x27a)](){function b8(a,b){return P(b,a- -0x3ef);}return Number[b8(-0x13e,-0x1b2)](''+Date[b8(-0x7f,-0xc7)]()+this['_requestId']++);}[P(0x2de,0x335)](){const d=this;d['clearTimeout'](b9(0x4fc,0x4d8));function b9(a,b){return P(a,b-0x20c);}if(d[b9(0x4ed,0x558)][b9(0x4c3,0x541)]){d['trigger'](b9(0x536,0x50e));return d[b9(0x470,0x4f0)]=d[b9(0x497,0x4f0)][b9(0x530,0x57d)](()=>d[b9(0x4ce,0x541)]());}return d[b9(0x50d,0x4f0)]=new Promise((e,f)=>{const g=d[ba(-0x120,-0x1a1)]();if(!g){e(null);return;}this[ba(-0xdb,-0x11b)](j=>{var k;function bb(a,b){return ba(b-0x448,a);}return(k=j[bb(0x2bd,0x2f0)])===null||k===void 0x0?void 0x0:k[bb(0x2c2,0x31b)]();});for(const j of Object[ba(-0xc8,-0xf1)](g)){var h;j===null||j===void 0x0||(h=j[ba(-0x83,-0x75)])===null||h===void 0x0||h[ba(-0xfa,-0x91)](k=>k[ba(-0xd0,-0x4f)][ba(-0xd2,-0x12b)]=!![]);}d[ba(-0x8e,-0x103)][ba(-0xa5,-0x5d)]={'type':ba(-0xa5,-0xd4),'pack':g,'resolve':e,'reject':f,'desc':null,'id':g[ba(-0x160,-0x1e5)]};function ba(a,b){return b9(b,a- -0x5e6);}const i=d[ba(-0xc4,-0x126)](ba(-0x141,-0x180),{'pack':g});Promise[ba(-0x10f,-0x166)](i)[ba(-0xbb,-0xab)](k=>{function bc(a,b){return ba(b-0x35d,a);}if(k!==![]){var l;d[bc(0x2fd,0x299)]('syncStart',{'pack':g});if((l=d[bc(0x283,0x2c1)])!==null&&l!==void 0x0&&l[bc(0x281,0x207)]){var m;(m=d['assignmentStore'])===null||m===void 0x0||m['acceptChanges']();}d[bc(0x32a,0x2cf)][bc(0x293,0x2b8)]['desc']=d['sendRequest']({'id':g[bc(0x228,0x1fd)],'data':d[bc(0x245,0x296)](g),'type':bc(0x258,0x2b8),'success':d[bc(0x2ec,0x2ce)],'failure':d[bc(0x1ba,0x233)],'thisObj':d});}else{d[bc(0x2ec,0x299)]('syncCanceled',{'pack':g});d['activeRequests'][bc(0x2e3,0x2b8)]=null;f({'cancelled':!![]});}})[ba(-0xd4,-0x85)](k=>{d[bd(0xf4,0x9b)][bd(0xdd,0xc4)]=null;function bd(a,b){return ba(a-0x182,b);}f(k);});})[b9(0x521,0x512)](e=>{if(e&&!e[be(0x345,0x371)]){throw e;}function be(a,b){return b9(b,a- -0x1b5);}return e;});}async['onCrudRequestSuccess'](d,f,g){var h;function bf(a,b){return P(a,b- -0x7f);}const i=this,{type:j,id:k}=g;if(i['isDestroyed'])return;let l='';g=i[bf(0x2af,0x2cd)][j];try{l=await d['text']();}catch(n){}if(i[bf(0x298,0x233)])return;if(((h=g)===null||h===void 0x0?void 0x0:h['id'])!==k){throw new Error(bf(0x296,0x2f3)+j+'\x20operation\x20detected');}i['activeRequests'][j]=null;const m=await i[bf(0x252,0x27f)](g,l,f,d);if(i['isDestroyed'])return;if(!m||(i['skipSuccessProperty']?(m===null||m===void 0x0?void 0x0:m[bf(0x1ca,0x24f)])===![]:!(m!==null&&m!==void 0x0&&m['success']))){const o={'rawResponse':d,'response':m,'request':g};if(m!==null&&m!==void 0x0&&m[bf(0x287,0x2df)]){o['message']=m[bf(0x342,0x2df)];}g['reject'](new CrudManagerRequestError(o));}i['crud'+_scf[bf(0x244,0x1f0)](g[bf(0x187,0x201)])+'ed']=!![];g['resolve']({'response':m,'rawResponse':d,'responseText':l,'request':g});}async[P(0x236,0x2b0)](d,f,g){function bg(a,b){return P(a,b- -0xfe);}var h;const i=this;if(i[bg(0x13b,0x1b4)])return;g=i[bg(0x240,0x24e)][g[bg(0x188,0x182)]];const j=f===null||f===void 0x0||(h=f[bg(0x142,0x179)])===null||h===void 0x0?void 0x0:h['signal'],k=Boolean(j===null||j===void 0x0?void 0x0:j['aborted']);i['afterSyncAttempt'](g);if(!k){let l,m='';try{m=await d[bg(0x172,0x16d)]();l=i['decode'](m);}catch(n){}if(i[bg(0x13a,0x1b4)])return;i[bg(0x217,0x1a2)](g,l,m,f,d);if(i[bg(0x23a,0x1b4)])return;g[bg(0x151,0x1bd)](new CrudManagerRequestError({'rawResponse':d,'request':g}));}i[bg(0x29a,0x24e)][g[bg(0x1b9,0x182)]]=null;}[P(0x27e,0x283)](){this[bh(0x368,0x327)][bh(0x34c,0x39b)](({store:d})=>d['acceptChanges']());function bh(a,b){return P(b,a-0x6c);}this[bh(0x382,0x364)](bh(0x2ef,0x347));}['revertChanges'](){this['revertCrudStoreChanges']();function bi(a,b){return P(b,a- -0x421);}this['trigger'](bi(-0x1c3,-0x170));}[P(0x31b,0x2f2)](){const {usesSingleAssignment:d}=this[bj(0x371,0x351)];function bj(a,b){return P(b,a-0x33);}this[bj(0x294,0x2c6)][bj(0x313,0x396)](({store:e})=>(!e['isAssignmentStore']||!d)&&e[bj(0x291,0x227)]());}['doDestroy'](){function bk(a,b){return P(b,a-0x10d);}const d=this,{load:e,sync:f}=d[bk(0x459,0x46c)];e&&d[bk(0x3c0,0x366)](e['desc'],e[bk(0x3c8,0x426)]);f&&d[bk(0x3c0,0x388)](f[bk(0x474,0x48b)],f[bk(0x3c8,0x405)]);while(d[bk(0x409,0x3ed)][bk(0x436,0x413)]>0x0){d[bk(0x43d,0x40e)](d[bk(0x409,0x45a)][0x0]);}super['doDestroy']&&super[bk(0x3ac,0x338)]();}get[P(0x31a,0x28f)](){var d;const e={};function bl(a,b){return P(a,b-0x2d5);}this[bl(0x626,0x5d4)]((f,g)=>{function bm(a,b){return bl(b,a- -0x6e0);}e[g]=f[bm(-0xbe,-0x14a)]();if(this['includeLegacyDataProperties']){e[g+'Data']=e[g];}});if((d=this[bl(0x52d,0x576)])!==null&&d!==void 0x0&&d[bl(0x53d,0x559)]){delete e['assignmentsData'];delete e[bl(0x646,0x5f1)];}return e;}set['crudStoresJSON'](d){function bn(a,b){return P(a,b- -0xfa);}this[bn(0x23a,0x205)]((e,f)=>{const g=f+bo(0x2da,0x30a);function bo(a,b){return bn(b,a-0x5f);}if(d[f]){e[bo(0x21e,0x258)]=d[f];}else if(d[g]){e['data']=d[g];}});}};};
@@ -1 +1 @@
1
- function _sca(){const I=['getStoreLoadResponseWarnings','assign','Please\x20adjust\x20your\x20response\x20to\x20look\x20like\x20this:\x0a','crudSyncValidationWarningPrefix','4673088nfULMB','\x22\x20store\x20\x22removed\x22\x20section\x20should\x20be\x20an\x20array:','validateSyncResponse','find','6LZRNkY','$name','length','crudLoadValidationWarningPrefix','Note:\x20Please\x20consider\x20enabling\x20\x22supportShortSyncResponse\x22\x20option\x20to\x20allow\x20less\x20detailed\x20sync\x20responses\x20(https:@bryntum/scheduler-thin/lib/crud/AbstractCrudManagerMixin#config-supportShortSyncResponse)','object','store','map','showSupportShortSyncResponseNote','disableValidationNote','...','\x22\x20store\x20section\x20should\x20have\x20a\x20\x22rows\x22\x20property\x20with\x20an\x20array\x20of\x20the\x20store\x20records.','Note:\x20To\x20disable\x20this\x20validation\x20please\x20set\x20the\x20\x22validateResponse\x22\x20config\x20to\x20false','forEachCrudStore','stores','2059580jUebGl','stringify',',,,','53525583FWYIXP','validateLoadResponse','phantomIdField','\x22\x20store\x20section\x20found.\x20It\x20should\x20contain\x20the\x20store\x20data.','getSyncResponseWarnings','isArray','crudLoadValidationMandatoryStores','pack','replace','It\x20should\x20contain\x20the\x20removed\x20record\x20identifiers.','6UxPLFE','1118237xeRlOl','5069008JLRVDe','CrudManager\x20load\x20response\x20error(s):','removed','5915960aBEgPF','\x22\x20store\x20\x22removed\x22\x20section\x20should\x20mention\x20removed\x20record(s)\x20','success','push','skipSuccessProperty','getStoreSyncResponseWarnings','It\x20should\x20contain\x20the\x20added\x20records\x20identifiers\x20(both\x20phantom\x20and\x20\x22real\x22\x20ones\x20assigned\x20by\x20the\x20backend).','join','\x22\x20store\x20\x22rows\x22\x20section\x20should\x20be\x20an\x20array','-\x20No\x20\x22','CrudManager\x20sync\x20response\x20error(s):','getLoadResponseWarnings','warn','messages','-\x20\x22','rows','added','\x20sent\x20in\x20the\x20request.\x20','\x22\x20store\x20\x22rows\x22\x20section\x20should\x20mention\x20added\x20record(s)\x20','updated','configurable','filter','1622702tdAUIQ'];_sca=function(){return I;};return _sca();}function _scb(a,b){const c=_sca();_scb=function(d,e){d=d-0xbc;let f=c[d];return f;};return _scb(a,b);}function _scx(a,b){return _scb(b- -0x366,a);}(function(a,b){const c=a();function w(a,b){return _scb(a-0x3b9,b);}while(!![]){try{const d=-parseInt(w(0x4ad,0x49f))/0x1+-parseInt(w(0x487,0x497))/0x2*(parseInt(w(0x4ac,0x4cc))/0x3)+-parseInt(w(0x48c,0x488))/0x4+parseInt(w(0x49f,0x496))/0x5+-parseInt(w(0x490,0x4a7))/0x6*(parseInt(w(0x4ae,0x4ce))/0x7)+-parseInt(w(0x4b1,0x4a6))/0x8+parseInt(w(0x4a2,0x498))/0x9;if(d===b){break;}else{c['push'](c['shift']());}}catch(e){c['push'](c['shift']());}}}(_sca,0xf0cf1));export default a=>class b extends a{static [_scx(-0x294,-0x28e)]='AbstractCrudManagerValidation';static get[_scx(-0x2ad,-0x29a)](){function y(a,b){return _scx(b,a-0x143);}return{'validateResponse':!![],'skipSuccessProperty':!![],'crudLoadValidationWarningPrefix':y(-0x12d,-0x114),'crudSyncValidationWarningPrefix':y(-0x161,-0x16d),'supportShortSyncResponseNote':y(-0x148,-0x133),'disableValidationNote':y(-0x140,-0x125)};}get[_scx(-0x291,-0x277)](){return[];}[_scx(-0x296,-0x297)](c,d,e){function z(a,b){return _scx(a,b-0x23a);}const f=[],{storeId:g}=c,h=this[z(-0x5c,-0x3d)],i={[g]:{}};if(d){if(!d[z(-0x78,-0x65)]){f['push'](z(-0x86,-0x66)+g+z(-0x34,-0x4a));i[g]['rows']=[z(-0x49,-0x4b)];}}else if(h!==null&&h!==void 0x0&&h['includes'](g)){f[z(-0x37,-0x31)](z(-0x5e,-0x6b)+g+z(-0x2c,-0x40));i[g][z(-0x6e,-0x65)]=[z(-0x48,-0x4b)];}if(f['length']){Object[z(-0x4c,-0x5c)](e,i);}return f;}[_scx(-0x29f,-0x2a3)](c,d){const e=[],f={};if(!this['skipSuccessProperty']){f[A(0x43d,0x430)]=!![];}function A(a,b){return _scx(a,b-0x69c);}this[A(0x425,0x41a)]((g,h,i)=>{function B(a,b){return A(b,a- -0x3cb);}var j;if(!(d!==null&&d!==void 0x0&&(j=d['stores'])!==null&&j!==void 0x0&&j[B(0x44,0x5f)])||d[B(0x50,0x67)]['includes'](h)){e[B(0x66,0x70)](...this[B(0x3a,0x29)](i,c===null||c===void 0x0?void 0x0:c[h],f));}});if(e['length']){e['push'](A(0x3f8,0x407)+JSON['stringify'](f,null,0x4)[A(0x418,0x427)](/"\.\.\."/g,A(0x42c,0x417)));e[A(0x451,0x431)](this[A(0x426,0x416)]);}return e;}[_scx(-0x27c,-0x27c)](c,d){function C(a,b){return _scx(b,a-0x611);}const e=this[C(0x36e,0x38c)](c,d);if(e[C(0x384,0x371)]){console[C(0x36f,0x36b)](this[C(0x385,0x398)]+'\x0a'+e[C(0x36a,0x363)]('\x0a'));}}[_scx(-0x2ab,-0x2a9)](c,d,e,f){const g=[],h=[],i=[],{storeId:j}=c,k={[j]:{}},l=c[D(0x1f1,0x1fb)]||this[D(0x1f1,0x206)],{modelClass:m}=c[D(0x1e3,0x1e1)],{idField:n}=m,o=(e===null||e===void 0x0?void 0x0:e[D(0x1cd,0x1d7)])||[],p=(e===null||e===void 0x0?void 0x0:e[D(0x1fd,0x1ec)])||[];let q=![];if(d!==null&&d!==void 0x0&&d[D(0x1ce,0x1d6)]){h['push'](...d[D(0x1ce,0x1c3)][D(0x1d3,0x1ca)](r=>{function E(a,b){return D(b-0x25a,a);}return!o['find'](s=>s[l]==r[l])&&!p[E(0x44a,0x436)](s=>s[l]==r[l]||s[n]==r[l]);})[D(0x1e4,0x1e4)](r=>({[l]:r[l],[n]:D(0x1e7,0x1ca)})));if(h[D(0x1df,0x1ca)]){const r=h[D(0x1e4,0x1f9)](s=>'#'+s[l])[D(0x1c5,0x1a5)](',\x20');g['push'](D(0x1cc,0x1af)+j+D(0x1d0,0x1c0)+r+D(0x1cf,0x1cd)+D(0x1c4,0x1ab));}}if(this['supportShortSyncResponse']){if(!h['length']&&e){if(typeof e!==D(0x1e2,0x1de)||Array[D(0x1f4,0x1f5)](e)){g['push'](D(0x1cc,0x1bb)+j+'\x22\x20store\x20section\x20should\x20be\x20an\x20Object.');k[j][D(0x1e7,0x1e6)]=D(0x1e7,0x205);}if(e['rows']&&!Array[D(0x1f4,0x1fe)](e[D(0x1cd,0x1ce)])){g[D(0x201,0x1ef)](D(0x1cc,0x1db)+j+D(0x1c6,0x1be));h[D(0x201,0x1fe)]('...');}if(e[D(0x1fd,0x20f)]&&!Array['isArray'](e[D(0x1fd,0x215)])){g[D(0x201,0x20b)](D(0x1cc,0x1bd)+j+D(0x1da,0x1bc));i['push'](D(0x1e7,0x1fa));}}}else{if(d!==null&&d!==void 0x0&&d[D(0x1d1,0x1d4)]){const s=d[D(0x1d1,0x1e2)][D(0x1d3,0x1cd)](t=>!o['find'](u=>u[n]==t[n]))[D(0x1e4,0x1f6)](t=>({[n]:t[n]}));h[D(0x201,0x21b)](...s);if(s[D(0x1df,0x1fa)]){const t=s[D(0x1e4,0x1d4)](u=>'#'+u[n])[D(0x1c5,0x1db)](',\x20');g[D(0x201,0x1fe)](D(0x1cc,0x1c2)+j+'\x22\x20store\x20\x22rows\x22\x20section\x20should\x20mention\x20updated\x20record(s)\x20'+t+'\x20sent\x20in\x20the\x20request.\x20'+'It\x20should\x20contain\x20the\x20updated\x20record\x20identifiers.');q=!![];}}if(h[D(0x1df,0x1e1)]){h[D(0x201,0x20c)]('...');}if(d!==null&&d!==void 0x0&&d[D(0x1fd,0x1e4)]){i[D(0x201,0x1ec)](...d[D(0x1fd,0x1f2)]['filter'](u=>!o['find'](v=>v[n]==u[n]))['map'](u=>({[n]:u[n]})));if(i[D(0x1df,0x1c5)]){const u=i['map'](v=>'#'+v[n])['join'](',\x20');g[D(0x201,0x1f9)](D(0x1cc,0x1e7)+j+D(0x1ff,0x1e4)+u+D(0x1cf,0x1d3)+D(0x1f8,0x1ed));k[j][D(0x1fd,0x1f8)]=i;i['push'](D(0x1e7,0x1e3));q=!![];}}}if(h[D(0x1df,0x1fe)]){k[j][D(0x1cd,0x1c2)]=h;}if(!g[D(0x1df,0x1f6)]){delete k[j];}function D(a,b){return _scx(b,a-0x46c);}Object[D(0x1d6,0x1c2)](f,k);return{'messages':g,'showSupportShortSyncResponseNote':q};}[_scx(-0x25d,-0x279)](c,d){const e=[],f={},g=d[F(0xf7,0xec)];if(!this[F(0xa8,0xb8)]){f['success']=!![];}function F(a,b){return _scx(a,b-0x362);}let h=![];this[F(0xf8,0xe0)]((i,j,k)=>{function G(a,b){return F(b,a-0xbf);}const l=this[G(0x178,0x181)](k,g===null||g===void 0x0?void 0x0:g[j],c[j],f);h=h||l[G(0x19a,0x1b8)];e[G(0x1b6,0x1bc)](...l[G(0x180,0x173)]);});if(e[F(0xe3,0xd5)]){e[F(0xe8,0xf7)](F(0xeb,0xcd)+JSON[F(0xc5,0xe3)](f,null,0x4)[F(0xff,0xed)](/"\.\.\.":\s*"\.\.\."/g,F(0xf5,0xe4))[F(0x10d,0xed)](/"\.\.\."/g,F(0xf8,0xdd)));if(h){e[F(0x104,0xf7)](this['supportShortSyncResponseNote']);}e[F(0xfe,0xf7)](this['disableValidationNote']);}return e;}[_scx(-0x2a7,-0x291)](c,d){const e=this[H(0x46e,0x464)](c,d);function H(a,b){return _scx(b,a-0x6e7);}if(e[H(0x45a,0x45a)]){console[H(0x445,0x428)](this[H(0x453,0x43b)]+'\x0a'+e[H(0x440,0x451)]('\x0a'));}}};
1
+ function _scb(a,b){const c=_sca();_scb=function(d,e){d=d-0xcb;let f=c[d];return f;};return _scb(a,b);}(function(a,b){function w(a,b){return _scb(b-0x2e3,a);}const c=a();while(!![]){try{const d=parseInt(w(0x3b3,0x3b1))/0x1*(parseInt(w(0x3e0,0x3cf))/0x2)+-parseInt(w(0x3b1,0x3cb))/0x3+-parseInt(w(0x3ba,0x3ca))/0x4+-parseInt(w(0x3be,0x3c7))/0x5+parseInt(w(0x3b1,0x3be))/0x6*(parseInt(w(0x3e5,0x3e7))/0x7)+parseInt(w(0x3fc,0x3e4))/0x8+-parseInt(w(0x3d2,0x3c4))/0x9;if(d===b){break;}else{c['push'](c['shift']());}}catch(e){c['push'](c['shift']());}}}(_sca,0xe4922));function _scx(a,b){return _scb(a- -0x2aa,b);}function _sca(){const H=['Note:\x20Please\x20consider\x20enabling\x20\x22supportShortSyncResponse\x22\x20option\x20to\x20allow\x20less\x20detailed\x20sync\x20responses\x20(https:@bryntum/scheduler-thin/lib/crud/AbstractCrudManagerMixin#config-supportShortSyncResponse)','isArray','2382180LqTwRz','375840JvmqGq','push','\x22\x20store\x20section\x20found.\x20It\x20should\x20contain\x20the\x20store\x20data.','forEachCrudStore','647146RAihzC','join','-\x20No\x20\x22','length','messages','It\x20should\x20contain\x20the\x20added\x20records\x20identifiers\x20(both\x20phantom\x20and\x20\x22real\x22\x20ones\x20assigned\x20by\x20the\x20backend).','\x22\x20store\x20\x22removed\x22\x20section\x20should\x20mention\x20removed\x20record(s)\x20','\x22\x20store\x20section\x20should\x20have\x20a\x20\x22rows\x22\x20property\x20with\x20an\x20array\x20of\x20the\x20store\x20records.','disableValidationNote','getStoreLoadResponseWarnings','find','\x22\x20store\x20section\x20should\x20be\x20an\x20Object.','filter','-\x20\x22','phantomIdField','stringify','$name','AbstractCrudManagerValidation','CrudManager\x20sync\x20response\x20error(s):','getLoadResponseWarnings','supportShortSyncResponseNote','11650528cssOkR','It\x20should\x20contain\x20the\x20removed\x20record\x20identifiers.','supportShortSyncResponse','14rhsoaU','replace','crudSyncValidationWarningPrefix','map','store','5tzXzts','added','\x20sent\x20in\x20the\x20request.\x20','rows','\x22\x20store\x20\x22rows\x22\x20section\x20should\x20be\x20an\x20array','skipSuccessProperty','...','object','removed','getSyncResponseWarnings','warn','\x22\x20store\x20\x22rows\x22\x20section\x20should\x20mention\x20added\x20record(s)\x20','It\x20should\x20contain\x20the\x20updated\x20record\x20identifiers.','751854SYZRCi',',,,','success','Please\x20adjust\x20your\x20response\x20to\x20look\x20like\x20this:\x0a','crudLoadValidationMandatoryStores','assign','14770575mlHTYd','updated','configurable','132865wrGEQG'];_sca=function(){return H;};return _sca();}export default a=>class b extends a{static [_scx(-0x1ae,-0x1ca)]=_scx(-0x1ad,-0x1be);static [_scx(-0x1c7,-0x1ac)]={'validateResponse':!![],'skipSuccessProperty':!![],'crudLoadValidationWarningPrefix':'CrudManager\x20load\x20response\x20error(s):','crudSyncValidationWarningPrefix':_scx(-0x1ac,-0x1a3),'supportShortSyncResponseNote':_scx(-0x1c5,-0x1a8),'disableValidationNote':'Note:\x20To\x20disable\x20this\x20validation\x20please\x20set\x20the\x20\x22validateResponse\x22\x20config\x20to\x20false'};get['crudLoadValidationMandatoryStores'](){return[];}[_scx(-0x1b5,-0x1ad)](c,d,e){const f=[],{storeId:g}=c,h=this[y(0x467,0x467)],i={[g]:{}};function y(a,b){return _scx(a-0x632,b);}if(d){if(!d[y(0x459,0x442)]){f[y(0x471,0x47a)]('-\x20\x22'+g+y(0x47b,0x472));i[g][y(0x459,0x471)]=[y(0x45c,0x46b)];}}else if(h!==null&&h!==void 0x0&&h['includes'](g)){f[y(0x471,0x45c)](y(0x476,0x47f)+g+y(0x472,0x460));i[g][y(0x459,0x455)]=[y(0x45c,0x469)];}if(f[y(0x477,0x48f)]){Object[y(0x468,0x45c)](e,i);}return f;}[_scx(-0x1ab,-0x1ac)](c,d){const e=[],f={};if(!this['skipSuccessProperty']){f[z(-0x2f4,-0x2f0)]=!![];}this[z(-0x2e6,-0x2cc)]((g,h,i)=>{function A(a,b){return z(b-0x311,a);}var j;if(!(d!==null&&d!==void 0x0&&(j=d['stores'])!==null&&j!==void 0x0&&j['length'])||d['stores']['includes'](h)){e['push'](...this[A(0x3a,0x35)](i,c===null||c===void 0x0?void 0x0:c[h],f));}});if(e['length']){e['push'](z(-0x2f3,-0x302)+JSON[z(-0x2d6,-0x2cc)](f,null,0x4)[z(-0x2cc,-0x2da)](/"\.\.\."/g,'...'));e[z(-0x2e8,-0x2de)](this[z(-0x2dd,-0x2c2)]);}function z(a,b){return _scx(a- -0x127,b);}return e;}['validateLoadResponse'](c,d){const e=this[B(-0x294,-0x2af)](c,d);function B(a,b){return _scx(b- -0x104,a);}if(e['length']){console['warn'](this['crudLoadValidationWarningPrefix']+'\x0a'+e[B(-0x2bb,-0x2c1)]('\x0a'));}}['getStoreSyncResponseWarnings'](c,d,e,f){const g=[],h=[],i=[],{storeId:j}=c,k={[j]:{}},l=c['phantomIdField']||this[C(0x2c,0x17)],{modelClass:m}=c[C(-0x25,-0x16)],{idField:n}=m,o=(e===null||e===void 0x0?void 0x0:e['rows'])||[],p=(e===null||e===void 0x0?void 0x0:e[C(0x3,-0xd)])||[];let q=![];if(d!==null&&d!==void 0x0&&d['added']){h[C(0x1e,0x6)](...d[C(0x2,-0x14)][C(-0x4,0x15)](r=>{function D(a,b){return C(a,b- -0xd);}return!o['find'](s=>s[l]==r[l])&&!p[D(-0x14,0x6)](s=>s[l]==r[l]||s[n]==r[l]);})[C(-0x8,-0x17)](r=>({[l]:r[l],[n]:C(-0x23,-0xf)})));if(h[C(0x24,0xc)]){const r=h[C(-0x12,-0x17)](s=>'#'+s[l])[C(-0xa,0xa)](',\x20');g[C(0x9,0x6)](C(0x1e,0x16)+j+C(-0x28,-0xa)+r+C(-0x16,-0x13)+C(0x8,0xe));}}if(this[C(0x3b,0x20)]){if(!h[C(0x1e,0xc)]&&e){if(typeof e!==C(-0x2a,-0xe)||Array[C(0x8,0x3)](e)){g[C(-0x2,0x6)]('-\x20\x22'+j+C(0x9,0x14));k[j][C(0xa,-0xf)]='...';}if(e[C(-0x15,-0x12)]&&!Array[C(-0x1,0x3)](e[C(-0x28,-0x12)])){g[C(-0x14,0x6)](C(0x8,0x16)+j+C(0xb,-0x11));h[C(0x17,0x6)]('...');}if(e[C(-0x20,-0xd)]&&!Array[C(0xb,0x3)](e[C(-0x25,-0xd)])){g[C(-0x16,0x6)](C(0xb,0x16)+j+'\x22\x20store\x20\x22removed\x22\x20section\x20should\x20be\x20an\x20array:');i[C(0x10,0x6)](C(0xc,-0xf));}}}else{if(d!==null&&d!==void 0x0&&d[C(-0x11,-0x1)]){const s=d[C(0x1d,-0x1)][C(0x2e,0x15)](t=>!o[C(-0x1,0x13)](u=>u[n]==t[n]))[C(-0x7,-0x17)](t=>({[n]:t[n]}));h['push'](...s);if(s['length']){const t=s[C(-0xd,-0x17)](u=>'#'+u[n])[C(0x1f,0xa)](',\x20');g[C(0x1f,0x6)](C(0x2e,0x16)+j+'\x22\x20store\x20\x22rows\x22\x20section\x20should\x20mention\x20updated\x20record(s)\x20'+t+C(-0xa,-0x13)+C(0x6,-0x9));q=!![];}}if(h[C(0x26,0xc)]){h[C(0x7,0x6)](C(-0x24,-0xf));}if(d!==null&&d!==void 0x0&&d[C(0xa,-0xd)]){i[C(0x2,0x6)](...d[C(-0x15,-0xd)][C(-0x5,0x15)](u=>!o['find'](v=>v[n]==u[n]))[C(-0xf,-0x17)](u=>({[n]:u[n]})));if(i[C(0x29,0xc)]){const u=i[C(-0x3,-0x17)](v=>'#'+v[n])['join'](',\x20');g[C(-0x12,0x6)](C(0x22,0x16)+j+C(0x19,0xf)+u+C(-0x14,-0x13)+C(0x5,0x1f));k[j][C(-0x8,-0xd)]=i;i['push']('...');q=!![];}}}function C(a,b){return _scx(b-0x1c7,a);}if(h[C(0x1e,0xc)]){k[j][C(0x4,-0x12)]=h;}if(!g['length']){delete k[j];}Object[C(0x17,-0x3)](f,k);return{'messages':g,'showSupportShortSyncResponseNote':q};}[_scx(-0x1d3,-0x1bd)](c,d){const e=[],f={},g=d['pack'];if(!this[E(-0x3d,-0x44)]){f[E(-0x36,-0x3a)]=!![];}let h=![];function E(a,b){return _scx(b-0x193,a);}this[E(-0x34,-0x2c)]((i,j,k)=>{function F(a,b){return E(b,a-0x4e3);}const l=this['getStoreSyncResponseWarnings'](k,g===null||g===void 0x0?void 0x0:g[j],c[j],f);h=h||l['showSupportShortSyncResponseNote'];e[F(0x4b5,0x4c1)](...l[F(0x4bc,0x4d2)]);});if(e[E(-0x17,-0x28)]){e[E(-0x2b,-0x2e)](E(-0x51,-0x39)+JSON[E(-0x33,-0x1c)](f,null,0x4)[E(-0x25,-0x12)](/"\.\.\.":\s*"\.\.\."/g,E(-0x47,-0x3b))[E(-0x2c,-0x12)](/"\.\.\."/g,'...'));if(h){e[E(-0x38,-0x2e)](this[E(0x5,-0x17)]);}e[E(-0x48,-0x2e)](this[E(-0x30,-0x23)]);}return e;}['validateSyncResponse'](c,d){const e=this[G(-0x14a,-0x14e)](c,d);function G(a,b){return _scx(a-0x89,b);}if(e[G(-0x132,-0x134)]){console[G(-0x149,-0x13a)](this[G(-0x156,-0x173)]+'\x0a'+e['join']('\x0a'));}}};