@futo-org/backups-orchestrator-api 0.43.0 → 0.45.0

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 (71) hide show
  1. package/dist/backends/backend.d.ts +2 -2
  2. package/dist/backends/backend.js.map +1 -1
  3. package/dist/backends/local.backend.js +0 -6
  4. package/dist/backends/local.backend.js.map +1 -1
  5. package/dist/backends/yucca.backend.d.ts +2 -2
  6. package/dist/backends/yucca.backend.js +2 -2
  7. package/dist/backends/yucca.backend.js.map +1 -1
  8. package/dist/controllers/auth.controller.js +1 -1
  9. package/dist/controllers/auth.controller.js.map +1 -1
  10. package/dist/controllers/backend.controller.js +1 -1
  11. package/dist/controllers/backend.controller.js.map +1 -1
  12. package/dist/controllers/integrations.controller.js +1 -1
  13. package/dist/controllers/integrations.controller.js.map +1 -1
  14. package/dist/controllers/repository.controller.js +6 -6
  15. package/dist/controllers/repository.controller.js.map +1 -1
  16. package/dist/controllers/runHistory.controller.d.ts +5 -1
  17. package/dist/controllers/runHistory.controller.js +32 -2
  18. package/dist/controllers/runHistory.controller.js.map +1 -1
  19. package/dist/controllers/schedule.controller.js +1 -1
  20. package/dist/controllers/schedule.controller.js.map +1 -1
  21. package/dist/dto/integrations.dto.d.ts +10 -2
  22. package/dist/dto/integrations.dto.js +1 -0
  23. package/dist/dto/integrations.dto.js.map +1 -1
  24. package/dist/dto/repository.dto.d.ts +90 -18
  25. package/dist/dto/repository.dto.js +5 -3
  26. package/dist/dto/repository.dto.js.map +1 -1
  27. package/dist/dto/schedule.dto.d.ts +1 -0
  28. package/dist/dto/schedule.dto.js +1 -0
  29. package/dist/dto/schedule.dto.js.map +1 -1
  30. package/dist/enum.d.ts +2 -1
  31. package/dist/enum.js +1 -0
  32. package/dist/enum.js.map +1 -1
  33. package/dist/moduleConfig.d.ts +1 -0
  34. package/dist/orchestrationApi.module.d.ts +2 -1
  35. package/dist/orchestrationApi.module.js +2 -0
  36. package/dist/orchestrationApi.module.js.map +1 -1
  37. package/dist/repositories/lock.repository.d.ts +5 -0
  38. package/dist/repositories/lock.repository.js +35 -0
  39. package/dist/repositories/lock.repository.js.map +1 -0
  40. package/dist/repositories/repositoryIntegrationImmich.repository.js +13 -10
  41. package/dist/repositories/repositoryIntegrationImmich.repository.js.map +1 -1
  42. package/dist/repositories/restic.repository.js +2 -3
  43. package/dist/repositories/restic.repository.js.map +1 -1
  44. package/dist/repositories/runHistory.repository.d.ts +4 -4
  45. package/dist/repositories/runHistory.repository.js +1 -1
  46. package/dist/repositories/runHistory.repository.js.map +1 -1
  47. package/dist/repositories/runningTasks.repository.js +10 -2
  48. package/dist/repositories/runningTasks.repository.js.map +1 -1
  49. package/dist/schema/migrations/20260917120000-AllowCancelledStatus.d.ts +3 -0
  50. package/dist/schema/migrations/20260917120000-AllowCancelledStatus.js +63 -0
  51. package/dist/schema/migrations/20260917120000-AllowCancelledStatus.js.map +1 -0
  52. package/dist/services/bootstrap.service.d.ts +3 -1
  53. package/dist/services/bootstrap.service.js +10 -2
  54. package/dist/services/bootstrap.service.js.map +1 -1
  55. package/dist/services/integrations.service.d.ts +6 -1
  56. package/dist/services/integrations.service.js +69 -50
  57. package/dist/services/integrations.service.js.map +1 -1
  58. package/dist/services/repository.service.js +12 -11
  59. package/dist/services/repository.service.js.map +1 -1
  60. package/dist/services/runHistory.service.js +1 -1
  61. package/dist/services/runHistory.service.js.map +1 -1
  62. package/dist/services/schedule.service.d.ts +1 -1
  63. package/dist/services/schedule.service.js +6 -7
  64. package/dist/services/schedule.service.js.map +1 -1
  65. package/dist/utils/cache.d.ts +3 -0
  66. package/dist/utils/cache.js +21 -0
  67. package/dist/utils/cache.js.map +1 -0
  68. package/dist/utils/errors.d.ts +5 -0
  69. package/dist/utils/errors.js +22 -0
  70. package/dist/utils/errors.js.map +1 -1
  71. package/package.json +4 -4
@@ -16,6 +16,8 @@ const bootstrap_repository_1 = require("../repositories/bootstrap.repository");
16
16
  const config_repository_1 = require("../repositories/config.repository");
17
17
  const database_repository_1 = require("../repositories/database.repository");
18
18
  const logging_repository_1 = require("../repositories/logging.repository");
19
+ const moduleConfig_repository_1 = require("../repositories/moduleConfig.repository");
20
+ const cache_1 = require("../utils/cache");
19
21
  const runHistory_service_1 = require("./runHistory.service");
20
22
  const schedule_service_1 = require("./schedule.service");
21
23
  let BootstrapService = BootstrapService_1 = class BootstrapService {
@@ -25,17 +27,22 @@ let BootstrapService = BootstrapService_1 = class BootstrapService {
25
27
  schedule;
26
28
  bootstrap;
27
29
  runHistory;
28
- constructor(logger, database, config, schedule, bootstrap, runHistory) {
30
+ moduleConfig;
31
+ constructor(logger, database, config, schedule, bootstrap, runHistory, moduleConfig) {
29
32
  this.logger = logger;
30
33
  this.database = database;
31
34
  this.config = config;
32
35
  this.schedule = schedule;
33
36
  this.bootstrap = bootstrap;
34
37
  this.runHistory = runHistory;
38
+ this.moduleConfig = moduleConfig;
35
39
  this.logger.setContext(BootstrapService_1.name);
36
40
  }
37
41
  async onApplicationBootstrap() {
38
42
  try {
43
+ if (this.moduleConfig.hasLock()) {
44
+ await (0, cache_1.discardStateCacheDirectory)(this.moduleConfig.get());
45
+ }
39
46
  await this.database.runMigrations();
40
47
  await this.config.bootstrap();
41
48
  await this.schedule.bootstrap();
@@ -59,6 +66,7 @@ exports.BootstrapService = BootstrapService = BootstrapService_1 = __decorate([
59
66
  config_repository_1.ConfigRepository,
60
67
  schedule_service_1.ScheduleService,
61
68
  bootstrap_repository_1.BootstrapRepository,
62
- runHistory_service_1.RunHistoryService])
69
+ runHistory_service_1.RunHistoryService,
70
+ moduleConfig_repository_1.ModuleConfigRepository])
63
71
  ], BootstrapService);
64
72
  //# sourceMappingURL=bootstrap.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.service.js","sourceRoot":"","sources":["../../src/services/bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoE;AACpE,+EAA2E;AAC3E,yEAAqE;AACrE,6EAAyE;AACzE,2EAAuE;AACvE,6DAAyD;AACzD,yDAAqD;AAG9C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,MAAyB,EACzB,QAA4B,EAC5B,MAAwB,EACxB,QAAyB,EACzB,SAA8B,EAC9B,UAA6B;QAL7B,WAAM,GAAN,MAAM,CAAmB;QACzB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAmB;QAE9C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAEjD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,SAAS,eAAe,WAAW,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAC1N,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAA;AA/BY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGgB,sCAAiB;QACf,wCAAkB;QACpB,oCAAgB;QACd,kCAAe;QACd,0CAAmB;QAClB,sCAAiB;GAPrC,gBAAgB,CA+B5B"}
1
+ {"version":3,"file":"bootstrap.service.js","sourceRoot":"","sources":["../../src/services/bootstrap.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoE;AACpE,+EAA2E;AAC3E,yEAAqE;AACrE,6EAAyE;AACzE,2EAAuE;AACvE,qFAAiF;AACjF,0CAA4D;AAC5D,6DAAyD;AACzD,yDAAqD;AAG9C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IACA;IACA;IACA;IACA;IAPnB,YACmB,MAAyB,EACzB,QAA4B,EAC5B,MAAwB,EACxB,QAAyB,EACzB,SAA8B,EAC9B,UAA6B,EAC7B,YAAoC;QANpC,WAAM,GAAN,MAAM,CAAmB;QACzB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAqB;QAC9B,eAAU,GAAV,UAAU,CAAmB;QAC7B,iBAAY,GAAZ,YAAY,CAAwB;QAErD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChC,MAAM,IAAA,kCAA0B,EAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAEjD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,YAAY,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,SAAS,eAAe,WAAW,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAC1N,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAA;AApCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGgB,sCAAiB;QACf,wCAAkB;QACpB,oCAAgB;QACd,kCAAe;QACd,0CAAmB;QAClB,sCAAiB;QACf,gDAAsB;GAR5C,gBAAgB,CAoC5B"}
@@ -1,7 +1,9 @@
1
1
  import { ConfigureImmichIntegrationRequestDto, ImmichBackupStatusDto, ImmichRollbackRequestDto, IntegrationsResponseDto } from '../dto/integrations.dto';
2
2
  import { EventsGateway } from '../events/events.gateway';
3
3
  import type { ModuleConfig } from '../moduleConfig';
4
+ import { LockRepository } from '../repositories/lock.repository';
4
5
  import { ModuleConfigRepository } from '../repositories/moduleConfig.repository';
6
+ import { RepositoryRepository } from '../repositories/repository.repository';
5
7
  import { RepositoryIntegrationImmichRepository } from '../repositories/repositoryIntegrationImmich.repository';
6
8
  import { RepositoryPathRepository } from '../repositories/repositoryPath.repository';
7
9
  import { RunHistoryRepository } from '../repositories/runHistory.repository';
@@ -17,14 +19,17 @@ export declare class IntegrationsService {
17
19
  private readonly repositoryIntegrationImmich;
18
20
  private readonly repositoryPath;
19
21
  private readonly repositoryService;
22
+ private readonly repository;
20
23
  private readonly runHistory;
21
24
  private readonly schedule;
22
25
  private readonly scheduleService;
23
26
  private readonly telemetry;
24
- constructor(backendService: BackendService, events: EventsGateway, moduleConfig: ModuleConfigRepository, repositoryIntegrationImmich: RepositoryIntegrationImmichRepository, repositoryPath: RepositoryPathRepository, repositoryService: RepositoryService, runHistory: RunHistoryRepository, schedule: ScheduleRepository, scheduleService: ScheduleService, telemetry: TelemetryService);
27
+ private readonly lock;
28
+ constructor(backendService: BackendService, events: EventsGateway, moduleConfig: ModuleConfigRepository, repositoryIntegrationImmich: RepositoryIntegrationImmichRepository, repositoryPath: RepositoryPathRepository, repositoryService: RepositoryService, repository: RepositoryRepository, runHistory: RunHistoryRepository, schedule: ScheduleRepository, scheduleService: ScheduleService, telemetry: TelemetryService, lock: LockRepository);
25
29
  onModuleConfigUpdate(moduleConfig: ModuleConfig): Promise<void>;
26
30
  getIntegrationsConfig(): Promise<IntegrationsResponseDto>;
27
31
  getImmichBackupStatus(): Promise<ImmichBackupStatusDto>;
32
+ private static ImmichIntegrationConfig;
28
33
  configureImmichIntegration(dto: ConfigureImmichIntegrationRequestDto): Promise<{
29
34
  repositoryId: string;
30
35
  }>;
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var IntegrationsService_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.IntegrationsService = void 0;
13
14
  const common_1 = require("@nestjs/common");
@@ -15,7 +16,9 @@ const event_emitter_1 = require("@nestjs/event-emitter");
15
16
  const node_path_1 = require("node:path");
16
17
  const enum_1 = require("../enum");
17
18
  const events_gateway_1 = require("../events/events.gateway");
19
+ const lock_repository_1 = require("../repositories/lock.repository");
18
20
  const moduleConfig_repository_1 = require("../repositories/moduleConfig.repository");
21
+ const repository_repository_1 = require("../repositories/repository.repository");
19
22
  const repositoryIntegrationImmich_repository_1 = require("../repositories/repositoryIntegrationImmich.repository");
20
23
  const repositoryPath_repository_1 = require("../repositories/repositoryPath.repository");
21
24
  const runHistory_repository_1 = require("../repositories/runHistory.repository");
@@ -25,27 +28,32 @@ const repository_service_1 = require("./repository.service");
25
28
  const schedule_service_1 = require("./schedule.service");
26
29
  const telemetry_service_1 = require("./telemetry.service");
27
30
  let IntegrationsService = class IntegrationsService {
31
+ static { IntegrationsService_1 = this; }
28
32
  backendService;
29
33
  events;
30
34
  moduleConfig;
31
35
  repositoryIntegrationImmich;
32
36
  repositoryPath;
33
37
  repositoryService;
38
+ repository;
34
39
  runHistory;
35
40
  schedule;
36
41
  scheduleService;
37
42
  telemetry;
38
- constructor(backendService, events, moduleConfig, repositoryIntegrationImmich, repositoryPath, repositoryService, runHistory, schedule, scheduleService, telemetry) {
43
+ lock;
44
+ constructor(backendService, events, moduleConfig, repositoryIntegrationImmich, repositoryPath, repositoryService, repository, runHistory, schedule, scheduleService, telemetry, lock) {
39
45
  this.backendService = backendService;
40
46
  this.events = events;
41
47
  this.moduleConfig = moduleConfig;
42
48
  this.repositoryIntegrationImmich = repositoryIntegrationImmich;
43
49
  this.repositoryPath = repositoryPath;
44
50
  this.repositoryService = repositoryService;
51
+ this.repository = repository;
45
52
  this.runHistory = runHistory;
46
53
  this.schedule = schedule;
47
54
  this.scheduleService = scheduleService;
48
55
  this.telemetry = telemetry;
56
+ this.lock = lock;
49
57
  }
50
58
  async onModuleConfigUpdate(moduleConfig) {
51
59
  if (moduleConfig.immichIntegration) {
@@ -84,65 +92,74 @@ let IntegrationsService = class IntegrationsService {
84
92
  latestBackupRun,
85
93
  };
86
94
  }
95
+ static ImmichIntegrationConfig = Symbol('ImmichIntegrationConfig');
87
96
  async configureImmichIntegration(dto) {
88
97
  const { immichIntegration } = this.moduleConfig.get();
89
98
  if (!immichIntegration) {
90
99
  throw new common_1.BadRequestException('Immich integration is not enabled.');
91
100
  }
92
- const existing = await this.repositoryIntegrationImmich.get();
93
- let repositoryId;
94
- let scheduleId;
95
- if (existing) {
96
- repositoryId = existing.id;
97
- scheduleId = existing.scheduleId;
98
- await this.repositoryService.updateRepository(existing.id, {
99
- name: dto.name,
100
- worm: dto.worm,
101
- retentionPolicy: dto.retentionPolicy,
102
- });
103
- await this.scheduleService.applyScheduleUpdate(scheduleId, { cron: dto.cron, paused: dto.paused });
101
+ if (dto.repositoryId) {
102
+ const boundRepository = await this.repository.get(dto.repositoryId);
103
+ if (!boundRepository) {
104
+ throw new common_1.NotFoundException('Specified repository does not exist');
105
+ }
104
106
  }
105
- else {
106
- ({
107
- repository: { id: repositoryId },
108
- } = await this.repositoryService.createRepository({
109
- name: dto.name,
110
- worm: dto.worm,
111
- }));
112
- if (dto.retentionPolicy !== undefined) {
107
+ return this.lock.tryWithLock(IntegrationsService_1.ImmichIntegrationConfig, async () => {
108
+ const existingConfiguration = await this.repositoryIntegrationImmich.get();
109
+ let repositoryId = dto.repositoryId ?? existingConfiguration?.id;
110
+ if (repositoryId) {
113
111
  await this.repositoryService.updateRepository(repositoryId, {
112
+ name: dto.name,
113
+ worm: dto.worm,
114
114
  retentionPolicy: dto.retentionPolicy,
115
115
  });
116
116
  }
117
- ({
118
- schedule: { id: scheduleId },
119
- } = await this.scheduleService.createSchedule({
120
- name: 'Immich Backup',
121
- cron: dto.cron,
122
- repositories: [repositoryId],
123
- }));
124
- if (dto.paused) {
125
- await this.scheduleService.applyScheduleUpdate(scheduleId, { paused: true });
117
+ else {
118
+ ({
119
+ repository: { id: repositoryId },
120
+ } = await this.repositoryService.createRepository({
121
+ name: dto.name,
122
+ worm: dto.worm,
123
+ retentionPolicy: dto.retentionPolicy,
124
+ }));
126
125
  }
127
- }
128
- const configuration = {
129
- dataFolders: dto.dataFolders,
130
- backupConfiguration: dto.backupConfiguration,
131
- libraries: dto.libraries,
132
- };
133
- await this.repositoryIntegrationImmich.upsert(repositoryId, scheduleId, configuration);
134
- await this.syncImmichRepositoryPaths(repositoryId, configuration, immichIntegration);
135
- this.telemetry.submitStructuredLog('Configured Immich integration', {
136
- repositoryId,
137
- scheduleId,
138
- });
139
- this.events.publish({
140
- type: 'IntegrationUpdate',
141
- integrations: await this.getIntegrationsConfig(),
126
+ let scheduleId = existingConfiguration?.scheduleId;
127
+ if (scheduleId) {
128
+ await this.scheduleService.applyScheduleUpdate(scheduleId, {
129
+ repositories: [repositoryId],
130
+ cron: dto.cron,
131
+ paused: dto.paused,
132
+ });
133
+ }
134
+ else {
135
+ ({
136
+ schedule: { id: scheduleId },
137
+ } = await this.scheduleService.createSchedule({
138
+ name: 'Immich Backup',
139
+ paused: dto.paused ?? false,
140
+ cron: dto.cron,
141
+ repositories: [repositoryId],
142
+ }));
143
+ }
144
+ const configuration = {
145
+ dataFolders: dto.dataFolders,
146
+ backupConfiguration: dto.backupConfiguration,
147
+ libraries: dto.libraries,
148
+ };
149
+ await this.repositoryIntegrationImmich.upsert(repositoryId, scheduleId, configuration);
150
+ await this.syncImmichRepositoryPaths(repositoryId, configuration, immichIntegration);
151
+ this.telemetry.submitStructuredLog('Configured Immich integration', {
152
+ repositoryId,
153
+ scheduleId,
154
+ });
155
+ this.events.publish({
156
+ type: 'IntegrationUpdate',
157
+ integrations: await this.getIntegrationsConfig(),
158
+ });
159
+ return {
160
+ repositoryId,
161
+ };
142
162
  });
143
- return {
144
- repositoryId,
145
- };
146
163
  }
147
164
  async enterImmichMaintenanceRollback(dto) {
148
165
  const { immichIntegration } = this.moduleConfig.get();
@@ -196,7 +213,7 @@ __decorate([
196
213
  __metadata("design:paramtypes", [Object]),
197
214
  __metadata("design:returntype", Promise)
198
215
  ], IntegrationsService.prototype, "onModuleConfigUpdate", null);
199
- exports.IntegrationsService = IntegrationsService = __decorate([
216
+ exports.IntegrationsService = IntegrationsService = IntegrationsService_1 = __decorate([
200
217
  (0, common_1.Injectable)(),
201
218
  __metadata("design:paramtypes", [backend_service_1.BackendService,
202
219
  events_gateway_1.EventsGateway,
@@ -204,9 +221,11 @@ exports.IntegrationsService = IntegrationsService = __decorate([
204
221
  repositoryIntegrationImmich_repository_1.RepositoryIntegrationImmichRepository,
205
222
  repositoryPath_repository_1.RepositoryPathRepository,
206
223
  repository_service_1.RepositoryService,
224
+ repository_repository_1.RepositoryRepository,
207
225
  runHistory_repository_1.RunHistoryRepository,
208
226
  schedule_repository_1.ScheduleRepository,
209
227
  schedule_service_1.ScheduleService,
210
- telemetry_service_1.TelemetryService])
228
+ telemetry_service_1.TelemetryService,
229
+ lock_repository_1.LockRepository])
211
230
  ], IntegrationsService);
212
231
  //# sourceMappingURL=integrations.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.service.js","sourceRoot":"","sources":["../../src/services/integrations.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrations.service.js","sourceRoot":"","sources":["../../src/services/integrations.service.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  var RepositoryService_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.RepositoryService = void 0;
17
- const restic_wrapper_1 = require("@futo-org/restic-wrapper");
18
17
  const common_1 = require("@nestjs/common");
19
18
  const node_crypto_1 = require("node:crypto");
20
19
  const node_path_1 = require("node:path");
@@ -33,6 +32,7 @@ const restic_repository_1 = require("../repositories/restic.repository");
33
32
  const runHistory_repository_1 = require("../repositories/runHistory.repository");
34
33
  const runningTasks_repository_1 = require("../repositories/runningTasks.repository");
35
34
  const storage_repository_1 = require("../repositories/storage.repository");
35
+ const errors_1 = require("../utils/errors");
36
36
  const restic_1 = require("../utils/restic");
37
37
  const bootstrap_service_1 = require("./bootstrap.service");
38
38
  const telemetry_service_1 = require("./telemetry.service");
@@ -106,11 +106,12 @@ let RepositoryService = RepositoryService_1 = class RepositoryService {
106
106
  const placement = { siteCode: remote.siteCode, storageClusterCode: remote.storageClusterCode };
107
107
  const key = await this.config.deriveEncryptionKey(`repository-${remote.id}`);
108
108
  await this.restic.init(endpoint, key, placement);
109
+ const retentionPolicy = dto.retentionPolicy === undefined ? restic_1.DEFAULT_RETENTION_POLICY : dto.retentionPolicy;
109
110
  await this.repository.create({
110
111
  id,
111
112
  remoteId: remote.id,
112
113
  backendId,
113
- retentionPolicy: restic_1.DEFAULT_RETENTION_POLICY,
114
+ retentionPolicy,
114
115
  siteCode: remote.siteCode,
115
116
  storageClusterCode: remote.storageClusterCode,
116
117
  });
@@ -119,7 +120,7 @@ let RepositoryService = RepositoryService_1 = class RepositoryService {
119
120
  await this.repositoryPath.create({ id, path });
120
121
  }
121
122
  const repository = {
122
- ...(await this.getLocalRepository(id, { paths, retentionPolicy: restic_1.DEFAULT_RETENTION_POLICY })),
123
+ ...(await this.getLocalRepository(id, { paths, retentionPolicy })),
123
124
  ...remote,
124
125
  id,
125
126
  backends: {
@@ -446,21 +447,21 @@ let RepositoryService = RepositoryService_1 = class RepositoryService {
446
447
  });
447
448
  const finish = async (error) => {
448
449
  try {
449
- const lastBackupStatus = error
450
- ? error instanceof restic_wrapper_1.ResticBackupCommandCouldNotReadSourceDataError
451
- ? enum_1.TaskStatus.Warn
452
- : enum_1.TaskStatus.Failed
453
- : enum_1.TaskStatus.Complete;
450
+ const lastBackupStatus = (0, errors_1.getTaskStatus)(error);
454
451
  const lastBackup = new Date().toISOString();
455
452
  const lastBackupDuration = Date.now() - +startTime;
456
- void this.updateLocalMetrics(id, {
457
- resticParameters: { endpoint, key, placement },
453
+ await this.updateLocalMetrics(id, {
458
454
  additionalMetrics: {
459
455
  lastBackup,
460
456
  lastBackupStatus,
461
457
  lastBackupDuration,
462
458
  },
463
459
  });
460
+ if (lastBackupStatus !== enum_1.TaskStatus.Cancelled) {
461
+ void this.updateLocalMetrics(id, {
462
+ resticParameters: { endpoint, key, placement },
463
+ });
464
+ }
464
465
  this.telemetry.submitStructuredLog('Backup finished', {
465
466
  repositoryId: id,
466
467
  lastBackupStatus,
@@ -468,7 +469,7 @@ let RepositoryService = RepositoryService_1 = class RepositoryService {
468
469
  });
469
470
  await closeLog(lastBackupStatus, error);
470
471
  if (backend.isMetricsCapable()) {
471
- backend.submitMetricBackupEnd(remoteId, lastBackupStatus !== enum_1.TaskStatus.Failed, lastBackupDuration);
472
+ backend.submitMetricBackupEnd(remoteId, lastBackupStatus, lastBackupDuration);
472
473
  }
473
474
  }
474
475
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"repository.service.js","sourceRoot":"","sources":["../../src/services/repository.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.service.js","sourceRoot":"","sources":["../../src/services/repository.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwG;AAExG,6CAAyC;AAEzC,yCAA0C;AAsB1C,kCAA6E;AAC7E,6DAAyD;AACzD,2EAAuE;AACvE,yEAAsF;AACtF,6EAAyE;AACzE,2EAAuE;AACvE,qFAAiF;AACjF,iFAA6E;AAC7E,mHAA+G;AAC/G,yGAAqG;AACrG,yFAAqF;AACrF,yEAAqE;AACrE,iFAA6E;AAC7E,qFAAiF;AACjF,2EAAuE;AAEvE,4CAAgD;AAChD,4CAA4E;AAC5E,2DAAuD;AACvD,2DAAuD;AAGhD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAET;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IAjBnB,YACmB,KAA6B,EAC7B,MAAqB,EACrB,OAA0B,EAC1B,MAAwB,EACxB,QAA4B,EAC5B,MAAwB,EACxB,UAAgC,EAChC,UAAgC,EAChC,cAAwC,EACxC,sBAAwD,EACxD,2BAAkE,EAClE,YAAoC,EACpC,OAA0B,EAE1B,SAA2B,EAC3B,SAA2B,EAC3B,MAAyB;QAhBzB,UAAK,GAAL,KAAK,CAAwB;QAC7B,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAmB;QAC1B,WAAM,GAAN,MAAM,CAAkB;QACxB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,WAAM,GAAN,MAAM,CAAkB;QACxB,eAAU,GAAV,UAAU,CAAsB;QAChC,eAAU,GAAV,UAAU,CAAsB;QAChC,mBAAc,GAAd,cAAc,CAA0B;QACxC,2BAAsB,GAAtB,sBAAsB,CAAkC;QACxD,gCAA2B,GAA3B,2BAA2B,CAAuC;QAClE,iBAAY,GAAZ,YAAY,CAAwB;QACpC,YAAO,GAAP,OAAO,CAAmB;QAE1B,cAAS,GAAT,SAAS,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAAkB;QAC3B,WAAM,GAAN,MAAM,CAAmB;QAE1C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,0BAAiB,CAAC,2BAA2B,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,EAAU,EACV,aAA0C,EAC1C,OAA8B;QAE9B,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;YACvC,aAAa,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QAC7C,CAAC;QAED,OAAO,KAAK,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEtD,OAAO;YACL,OAAO;YACP,aAAa;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAA+B,EAAE,SAAkB;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAClD,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,IAAA,wBAAU,GAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;QAE3G,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3B,EAAE;YACF,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,SAAS;YACT,eAAe;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAuB;YACrC,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YAClE,GAAG,MAAM;YACT,EAAE;YACF,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,aAAa,CAAC,IAAI;iBACzB;gBACD,SAAS,EAAE,EAAE;aACd;SACF,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE;YACvD,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,UAAU;SACX,CAAC,CAAC;QAEH,OAAO;YACL,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,YAAY,GAAyB,EAAE,CAAC;QAE9C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,kBAAkB,GAA6D,EAAE,CAAC;QAExF,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;YAClD,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAEnC,IAAI,CAAC;gBACH,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;gBAE/D,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;oBAC9B,kBAAkB,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC5D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,SAAS,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;QAEhE,KAAK,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,iBAAiB,EAAE,CAAC;YAC3G,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEjE,MAAM,aAAa,GAA+B;gBAChD,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;gBAC5E,eAAe;aAChB,CAAC;YAEF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAE9D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,QAAQ,IAAI,gBAAgB,CAAC,kBAAkB,KAAK,kBAAkB,EAAE,CAAC;oBACzG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE;wBAC/B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;wBACnC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;qBACxD,CAAC,CAAC;gBACL,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC;oBAChB,GAAG,gBAAgB;oBACnB,EAAE;oBACF,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;oBAC9D,QAAQ,EAAE;wBACR,OAAO,EAAE;4BACP,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI;4BAChD,MAAM,EAAE,IAAI;yBACb;wBACD,SAAS,EAAE,EAAE;qBACd;iBACF,CAAC,CAAC;gBAEH,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC;oBAChB,EAAE;oBACF,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,KAAK;oBACX,QAAQ;oBACR,kBAAkB;oBAClB,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;oBAC9D,QAAQ,EAAE;wBACR,OAAO,EAAE;4BACP,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI;4BAChD,MAAM,EAAE,KAAK;yBACd;wBACD,SAAS,EAAE,EAAE;qBACd;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnE,KAAK,MAAM,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,YAAY,CAAC,IAAI,CAAC;oBAChB,GAAG,gBAAgB;oBACnB,QAAQ,EAAE;wBACR,OAAO,EAAE;4BACP,EAAE,EAAE,SAAS;4BACb,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI;4BAChD,MAAM,EAAE,IAAI;yBACb;wBACD,SAAS,EAAE,EAAE;qBACd;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAkB;QAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,UAAU,CAAC,aAAa;YACzB,UAAU,CAAC,QAAQ;YACnB,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAC/D,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,UAAU,CACxC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAClE,SAAS,EAAE,UAAU,CAAC,QAAS,CAAC,OAAO,CAAC,EAAE;gBAC1C,QAAQ,EAAE,UAAU,CAAC,EAAE;aACxB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3C,GAAG,UAAU;gBACb,SAAS,EACP,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,WAAW;oBACnC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACpE,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,QAAQ,EAA8D;QACtG,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;YACjC,OAAO,EAAE,OAAO;gBACd,CAAC,CAAC;oBACE,QAAQ,EAAE,OAAO,CAAC,SAAS;oBAC3B,YAAY,EAAE,OAAO,CAAC,aAAa;oBACnC,eAAe,EAAE,OAAO,CAAC,gBAAgB;oBACzC,UAAU,EAAE,OAAO,CAAC,qBAAqB;oBACzC,UAAU,EAAE,OAAO,CAAC,qBAAqB;oBACzC,SAAS,EAAE,OAAO,CAAC,UAAU;iBAC9B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,EAAU,EACV,GAA+B,EAC/B,SAAkB;QAElB,IAAI,QAAgB,CAAC;QACrB,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,CAAC,CAAC;YAC9D,CAAC;YAED,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE3E,IAAI,MAAM,CAAC;QACX,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEzD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;oBAC/B,EAAE;oBACF,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAuB;YACrC,GAAG,MAAM;YACT,EAAE;YACF,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC1D,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,MAAM,EAAE,IAAI;iBACb;gBACD,SAAS,EAAE,EAAE;aACd;SACF,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE;YACvD,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE,EAAE;YAChB,UAAU;SACX,CAAC,CAAC;QAEH,OAAO;YACL,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE;YACvD,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,UAA4D;QAE5D,IAAI,SAAiB,CAAC;QACtB,IAAI,QAAgB,CAAC;QACrB,IAAI,OAA2B,CAAC;QAChC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,kBAAkB,GAAkB,IAAI,CAAC;QAC7C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;YACtC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;YACpC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;YACpC,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,aAAa,CAAC,IAAI,KAAK,kBAAW,CAAC,KAAK,EAAE,CAAC;YACnF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;QAE5E,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,EAAU,EACV,OAOC;QAED,MAAM,OAAO,GAA4C;YACvD,GAAG,OAAO,CAAC,iBAAiB;SAC7B,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBACzE,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,iCAAiC,EAAE;wBACpE,YAAY,EAAE,EAAE;wBAChB,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAE3E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClB,IAAI,EAAE,kBAAkB;gBACxB,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE;oBACV,OAAO,EAAE,cAAc;iBACxB;aACF,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;gBAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAE5D,IAAI,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC/B,OAAO,CAAC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClE,CAAC;YAGH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,qCAAqC,EAAE;gBACxE,YAAY,EAAE,EAAE;gBAChB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,MAAoB;QAKpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,uCAAuC,EAAE;gBAC1E,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;YAEH,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,gBAAgB,EAAE;YACnD,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAExE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,4BAAmB,CAAC,6BAA6B,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YACtF,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,eAAQ,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,KAAK,EAAE,KAAW,EAAE,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAC;gBAE9C,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC;gBAEnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;oBAChC,iBAAiB,EAAE;wBACjB,UAAU;wBACV,gBAAgB;wBAChB,kBAAkB;qBACnB;iBACF,CAAC,CAAC;gBAEH,IAAI,gBAAgB,KAAK,iBAAU,CAAC,SAAS,EAAE,CAAC;oBAC9C,KAAK,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;wBAC/B,gBAAgB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;qBAC/C,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;oBACpD,YAAY,EAAE,EAAE;oBAChB,gBAAgB;oBAChB,KAAK;iBACN,CAAC,CAAC;gBAEH,MAAM,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAExC,IAAI,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC/B,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,2BAA2B,EAAE;oBAC9D,YAAY,EAAE,EAAE;oBAChB,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,eAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC5E,MAAM,IAAI,GAAG,EAAE,CAAC;gBAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC7B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,CAAC;oBACvE,IAAI,EAAE,KAAK,iBAAiB,EAAE,EAAE,EAAE,CAAC;wBACjC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,iCAAiC,EAAE;4BACpE,YAAY,EAAE,EAAE;yBACjB,CAAC,CAAC;wBAEH,IAAI,CAAC;4BACH,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;4BACnF,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAe,CAAC,oBAAoB,IAAI,cAAc,EAAE,CAAC,CAAC;4BAEvE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,gCAAgC,EAAE;gCACnE,YAAY,EAAE,EAAE;6BACjB,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,yCAAyC,EAAE;gCAC5E,YAAY,EAAE,EAAE;gCAChB,KAAK;6BACN,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBAEvG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,oCAAoC,EAAE;oBACvE,YAAY,EAAE,EAAE;oBAChB,OAAO;iBACR,CAAC,CAAC;gBAEH,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;oBAE/F,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,mCAAmC,EAAE;wBACtE,YAAY,EAAE,EAAE;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,MAAM,EAAE,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,QAAgB,EAChB,GAAe,EACf,SAA0B,EAC1B,MAAuB,EACvB,GAAgB,EAChB,MAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1F,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;YAC/C,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;oBAChC,GAAG,CAAC,KAAK,CACP,IAAI,CAAC,SAAS,CAAC;wBACb,YAAY,EAAE,kBAAkB;wBAChC,EAAE;wBACF,IAAI;wBACJ,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO;qBACvE,CAAC,GAAG,IAAI,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;oBAClC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,EAAU,EACV,MAAoB;QAKpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,iDAAiD,EAAE;gBACpF,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;YAEH,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;QACvC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,4BAAmB,CAAC,oDAAoD,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,0BAA0B,EAAE;YAC7D,YAAY,EAAE,EAAE;YAChB,eAAe;SAChB,CAAC,CAAC;QAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAExE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,OAAO,CACtB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CACjB,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAC5B,EAAE,EACF,eAAQ,CAAC,MAAM,EACf,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;gBACnB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAEzB,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,eAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oBACtD,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC3F,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,KAAK,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;oBAC/B,gBAAgB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;iBAC/C,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,2BAA2B,EAAE;oBAC9D,YAAY,EAAE,EAAE;oBAChB,KAAK;iBACN,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CACF,CACJ,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAAU,EAAE,SAAiB;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjG,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAEtD,OAAO;gBACL,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU,EAAE,SAAiB;QAClD,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,2BAA2B,EAAE;YAC9D,YAAY,EAAE,EAAE;YAChB,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAA,wBAAU,GAAE,CAAC;YAE7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YAEpD,IAAI,KAAK,GAAa,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACxE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5C,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,4CAA4C,EAAE;oBAC/E,YAAY,EAAE,EAAE;oBAChB,SAAS;oBACT,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3B,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,SAAS;gBACT,eAAe,EAAE,iCAAwB;gBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,CAAC,CAAC;YAEH,MAAM,UAAU,GAAuB;gBACrC,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,iCAAwB,EAAE,CAAC,CAAC;gBACjG,GAAG,MAAM;gBACT,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE;oBACR,OAAO,EAAE;wBACP,EAAE,EAAE,SAAS;wBACb,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,aAAa,CAAC,IAAI;qBACzB;oBACD,SAAS,EAAE,EAAE;iBACd;aACF,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,4BAA4B,EAAE;gBAC/D,YAAY,EAAE,EAAE;gBAChB,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClB,IAAI,EAAE,kBAAkB;gBACxB,UAAU;aACX,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,4BAA4B,EAAE;gBAC/D,YAAY,EAAE,EAAE;gBAChB,SAAS;gBACT,KAAK;aACN,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mCAAmC,CACvC,EAAU,EACV,GAAkD;QAElD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/E,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAC5D,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE;YAC/B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;QAEH,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE,GAAuB;YACnD,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACtC,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,EAAE,EAAE,GAAG,CAAC,SAAS;oBACjB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,aAAa,CAAC,IAAI;iBACzB;gBACD,SAAS,EAAE,EAAE;aACd;SACF,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE,EAAE;YAChB,UAAU;SACX,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE;gBACV,EAAE;gBACF,GAAG,UAAU;aACd;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAExE,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,UAAkB;QACxD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAEnF,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,EAAU,EACV,UAAkB,EAClB,GAAwC;QAKxC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,qCAAqC,EAAE;YACxE,YAAY,EAAE,EAAE;YAChB,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAgB,CAAC;YAErB,MAAM,IAAI,GAAG,IAAI,OAAO,CACtB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CACjB,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAC5B,EAAE,EACF,eAAQ,CAAC,OAAO,EAChB,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;gBACnB,OAAO,CAAC;oBACN,IAAI;oBACJ,KAAK;iBACN,CAAC,CAAC;gBAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAExE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,eAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACjE,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC9F,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,sCAAsC,EAAE;oBACzE,YAAY,EAAE,EAAE;oBAChB,UAAU;oBACV,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CACF,CACJ,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,EAAU,EACV,UAAkB,EAClB,SAAiB,EACjB,GAAiD;QAKjD,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,uCAAuC,EAAE;YAC1E,YAAY,EAAE,EAAE;YAChB,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAgB,CAAC;YAErB,MAAM,IAAI,GAAG,IAAI,OAAO,CACtB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CACjB,KAAK,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACrC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;gBACnB,OAAO,CAAC;oBACN,IAAI;oBACJ,KAAK;iBACN,CAAC,CAAC;gBAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAEjG,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,eAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACjE,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACjC,QAAQ,EACR,GAAG,EACH,SAAS,EACT,UAAU,EACV,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EACxB,GAAG,EACH,MAAM,CACP,CAAC;oBAEF,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;wBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBAE5C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACvB,QAAQ,EACR,GAAG,EACH,SAAS,EACT,UAAU,EACV,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EACtC,GAAG,EACH,MAAM,CACP,CAAC;wBAEF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;wBAC9C,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;wBAEpD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;4BAC9C,SAAS,EAAE,IAAI;4BACf,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;yBAC3C,CAAC,CAAC;wBAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAA,gBAAI,EAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;wBAEtE,MAAM,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;oBAChD,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,wCAAwC,EAAE;oBAC3E,YAAY,EAAE,EAAE;oBAChB,UAAU;oBACV,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAC;gBACb,CAAC;YACH,CAAC,CACF,CACJ,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,UAAkB;QACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,2DAA2D,EAAE;gBAC9F,YAAY,EAAE,EAAE;gBAChB,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,oCAAoC,EAAE;YACvE,YAAY,EAAE,EAAE;YAChB,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAExE,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,eAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,qCAAqC,EAAE;YACxE,YAAY,EAAE,EAAE;YAChB,UAAU;YACV,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;YAChC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,EAAU,EACV,UAAkB,EAClB,GAAgC;QAEhC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAE/E,OAAO;gBACL,MAAM,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC;gBACrB,IAAI;gBACJ,KAAK,EAAE,KAAK;qBACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC;qBAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;qBACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACd,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK;iBACjC,CAAC,CAAC;aACN,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,2CAA2C,EAAE;gBAC9E,YAAY,EAAE,EAAE;gBAChB,UAAU;gBACV,KAAK;aACN,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE9C,OAAO;YACL,IAAI;SACL,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAnkCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAgBR,YAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,oCAAgB,CAAC,CAAC,CAAA;qCAbnB,gDAAsB;QACrB,8BAAa;QACZ,sCAAiB;QAClB,oCAAgB;QACd,wCAAkB;QACpB,oCAAgB;QACZ,4CAAoB;QACpB,4CAAoB;QAChB,oDAAwB;QAChB,oEAAgC;QAC3B,8EAAqC;QACpD,gDAAsB;QAC3B,sCAAiB;QAEf,oCAAgB;QAChB,oCAAgB;QACnB,sCAAiB;GAlBjC,iBAAiB,CAmkC7B"}
@@ -47,7 +47,7 @@ let RunHistoryService = class RunHistoryService {
47
47
  }
48
48
  const result = await this.backend.getBackend(repository.backendId);
49
49
  if (result?.backend.isMetricsCapable()) {
50
- result.backend.submitMetricBackupEnd(repository.remoteId, false, Date.now() - +new Date(run.start));
50
+ result.backend.submitMetricBackupEnd(repository.remoteId, enum_1.TaskStatus.Failed, Date.now() - +new Date(run.start));
51
51
  }
52
52
  }
53
53
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"runHistory.service.js","sourceRoot":"","sources":["../../src/services/runHistory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,kCAA+C;AAC/C,2EAAuE;AACvE,iFAA6E;AAC7E,iFAA6E;AAC7E,2DAAuD;AAGhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET;IACA;IACA;IACA;IAJnB,YACmB,UAAgC,EAChC,UAAgC,EAChC,OAA0B,EAC1B,SAA2B;QAH3B,eAAU,GAAV,UAAU,CAAsB;QAChC,eAAU,GAAV,UAAU,CAAsB;QAChC,YAAO,GAAP,OAAO,CAAmB;QAC1B,cAAS,GAAT,SAAS,CAAkB;IAC3C,CAAC;IAEJ,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;gBAEtC,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;wBACpD,YAAY;wBACZ,gBAAgB,EAAE,iBAAU,CAAC,MAAM;wBACnC,KAAK,EAAE,oEAAoE;qBAC5E,CAAC,CAAC;oBAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO;oBACT,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBACvC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtG,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,uCAAuC,EAAE;wBAC1E,YAAY;wBACZ,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AA5CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGoB,4CAAoB;QACpB,4CAAoB;QACvB,sCAAiB;QACf,oCAAgB;GALnC,iBAAiB,CA4C7B"}
1
+ {"version":3,"file":"runHistory.service.js","sourceRoot":"","sources":["../../src/services/runHistory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,kCAA+C;AAC/C,2EAAuE;AACvE,iFAA6E;AAC7E,iFAA6E;AAC7E,2DAAuD;AAGhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET;IACA;IACA;IACA;IAJnB,YACmB,UAAgC,EAChC,UAAgC,EAChC,OAA0B,EAC1B,SAA2B;QAH3B,eAAU,GAAV,UAAU,CAAsB;QAChC,eAAU,GAAV,UAAU,CAAsB;QAChC,YAAO,GAAP,OAAO,CAAmB;QAC1B,cAAS,GAAT,SAAS,CAAkB;IAC3C,CAAC;IAEJ,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAQ,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;gBAEtC,IAAI,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,iBAAiB,EAAE;wBACpD,YAAY;wBACZ,gBAAgB,EAAE,iBAAU,CAAC,MAAM;wBACnC,KAAK,EAAE,oEAAoE;qBAC5E,CAAC,CAAC;oBAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO;oBACT,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBACvC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAClC,UAAU,CAAC,QAAQ,EACnB,iBAAU,CAAC,MAAM,EACjB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAClC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,uCAAuC,EAAE;wBAC1E,YAAY;wBACZ,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAhDY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAGoB,4CAAoB;QACpB,4CAAoB;QACvB,sCAAiB;QACf,oCAAgB;GALnC,iBAAiB,CAgD7B"}
@@ -22,7 +22,7 @@ export declare class ScheduleService {
22
22
  private createCronJob;
23
23
  private updateCronJob;
24
24
  private runSchedule;
25
- createSchedule({ repositories, ...dto }: ScheduleCreateRequestDto): Promise<ScheduleCreateResponseDto>;
25
+ createSchedule({ repositories, paused, ...dto }: ScheduleCreateRequestDto): Promise<ScheduleCreateResponseDto>;
26
26
  getSchedules(): Promise<ScheduleListResponseDto>;
27
27
  updateSchedule(scheduleId: string, dto: ScheduleUpdateRequestDto): Promise<ScheduleUpdateResponseDto>;
28
28
  applyScheduleUpdate(scheduleId: string, { name, paused, cron, repositories }: ScheduleUpdateRequestDto): Promise<ScheduleUpdateResponseDto>;
@@ -13,7 +13,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ScheduleService = void 0;
16
- const restic_wrapper_1 = require("@futo-org/restic-wrapper");
17
16
  const common_1 = require("@nestjs/common");
18
17
  const schedule_1 = require("@nestjs/schedule");
19
18
  const cron_1 = require("cron");
@@ -24,6 +23,7 @@ const moduleConfig_repository_1 = require("../repositories/moduleConfig.reposito
24
23
  const repositoryIntegrationImmich_repository_1 = require("../repositories/repositoryIntegrationImmich.repository");
25
24
  const runningTasks_repository_1 = require("../repositories/runningTasks.repository");
26
25
  const schedule_repository_1 = require("../repositories/schedule.repository");
26
+ const errors_1 = require("../utils/errors");
27
27
  const repository_service_1 = require("./repository.service");
28
28
  const telemetry_service_1 = require("./telemetry.service");
29
29
  let ScheduleService = class ScheduleService {
@@ -110,8 +110,7 @@ let ScheduleService = class ScheduleService {
110
110
  this.runningTasks.updateTask(id, { scheduleStatus });
111
111
  }
112
112
  catch (error) {
113
- const status = error instanceof restic_wrapper_1.ResticBackupCommandCouldNotReadSourceDataError ? enum_1.TaskStatus.Warn : enum_1.TaskStatus.Failed;
114
- scheduleStatus[index] = { repositoryId, status };
113
+ scheduleStatus[index] = { repositoryId, status: (0, errors_1.getTaskStatus)(error) };
115
114
  this.runningTasks.updateTask(id, { scheduleStatus });
116
115
  }
117
116
  }
@@ -129,11 +128,11 @@ let ScheduleService = class ScheduleService {
129
128
  schedule: { lastFinished },
130
129
  });
131
130
  }
132
- async createSchedule({ repositories, ...dto }) {
131
+ async createSchedule({ repositories, paused, ...dto }) {
133
132
  const id = (0, node_crypto_1.randomUUID)();
134
133
  const { ordering: _, ...model } = await this.schedule.create({
135
134
  id,
136
- paused: 0,
135
+ paused: paused ? 1 : 0,
137
136
  ordering: JSON.stringify([]),
138
137
  ...dto,
139
138
  });
@@ -142,7 +141,7 @@ let ScheduleService = class ScheduleService {
142
141
  }
143
142
  const schedule = {
144
143
  ...model,
145
- paused: false,
144
+ paused,
146
145
  repositories,
147
146
  };
148
147
  this.telemetry.submitStructuredLog(`Created schedule for ${repositories.length} repositories`, {
@@ -153,7 +152,7 @@ let ScheduleService = class ScheduleService {
153
152
  type: 'ScheduleCreate',
154
153
  schedule,
155
154
  });
156
- this.createCronJob(id, dto.cron, false);
155
+ this.createCronJob(id, dto.cron, schedule.paused);
157
156
  return {
158
157
  schedule,
159
158
  };