@simplysm/sd-cli 10.0.22 → 10.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SdTsIncrementalBuilder.d.ts +1 -1
- package/dist/SdTsIncrementalBuilder.js.map +1 -1
- package/dist/SdTsIncrementalBuilder.mjs +39 -16
- package/package.json +4 -4
- package/src/SdTsIncrementalBuilder.ts +29 -4
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +0 -20
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +0 -1
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +0 -12
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +0 -43
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +0 -1
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +0 -54
- package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +0 -16
- package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +0 -1
- package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +0 -26
- package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +0 -14
- package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +0 -1
- package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +0 -2
- package/dist/sd-core-common/src/errors/ArgumentError.d.ts +0 -10
- package/dist/sd-core-common/src/errors/ArgumentError.js.map +0 -1
- package/dist/sd-core-common/src/errors/ArgumentError.mjs +0 -13
- package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +0 -10
- package/dist/sd-core-common/src/errors/NeverEntryError.js.map +0 -1
- package/dist/sd-core-common/src/errors/NeverEntryError.mjs +0 -13
- package/dist/sd-core-common/src/errors/NotImplementError.d.ts +0 -10
- package/dist/sd-core-common/src/errors/NotImplementError.js.map +0 -1
- package/dist/sd-core-common/src/errors/NotImplementError.mjs +0 -13
- package/dist/sd-core-common/src/errors/SdError.d.ts +0 -23
- package/dist/sd-core-common/src/errors/SdError.js.map +0 -1
- package/dist/sd-core-common/src/errors/SdError.mjs +0 -40
- package/dist/sd-core-common/src/errors/TimeoutError.d.ts +0 -11
- package/dist/sd-core-common/src/errors/TimeoutError.js.map +0 -1
- package/dist/sd-core-common/src/errors/TimeoutError.mjs +0 -16
- package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +0 -147
- package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +0 -1
- package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +0 -448
- package/dist/sd-core-common/src/extensions/MapExtension.d.ts +0 -4
- package/dist/sd-core-common/src/extensions/MapExtension.js.map +0 -1
- package/dist/sd-core-common/src/extensions/MapExtension.mjs +0 -15
- package/dist/sd-core-common/src/extensions/SetExtension.d.ts +0 -3
- package/dist/sd-core-common/src/extensions/SetExtension.js.map +0 -1
- package/dist/sd-core-common/src/extensions/SetExtension.mjs +0 -10
- package/dist/sd-core-common/src/index.d.ts +0 -32
- package/dist/sd-core-common/src/index.js.map +0 -1
- package/dist/sd-core-common/src/index.mjs +0 -33
- package/dist/sd-core-common/src/types/DateOnly.d.ts +0 -135
- package/dist/sd-core-common/src/types/DateOnly.js.map +0 -1
- package/dist/sd-core-common/src/types/DateOnly.mjs +0 -220
- package/dist/sd-core-common/src/types/DateTime.d.ts +0 -42
- package/dist/sd-core-common/src/types/DateTime.js.map +0 -1
- package/dist/sd-core-common/src/types/DateTime.mjs +0 -156
- package/dist/sd-core-common/src/types/DeepPartial.d.ts +0 -3
- package/dist/sd-core-common/src/types/DeepPartial.js.map +0 -1
- package/dist/sd-core-common/src/types/DeepPartial.mjs +0 -2
- package/dist/sd-core-common/src/types/ObjectSet.d.ts +0 -4
- package/dist/sd-core-common/src/types/ObjectSet.js.map +0 -1
- package/dist/sd-core-common/src/types/ObjectSet.mjs +0 -18
- package/dist/sd-core-common/src/types/Time.d.ts +0 -27
- package/dist/sd-core-common/src/types/Time.js.map +0 -1
- package/dist/sd-core-common/src/types/Time.mjs +0 -108
- package/dist/sd-core-common/src/types/Type.d.ts +0 -7
- package/dist/sd-core-common/src/types/Type.js.map +0 -1
- package/dist/sd-core-common/src/types/Type.mjs +0 -2
- package/dist/sd-core-common/src/types/UnwrappedType.d.ts +0 -1
- package/dist/sd-core-common/src/types/UnwrappedType.js.map +0 -1
- package/dist/sd-core-common/src/types/UnwrappedType.mjs +0 -2
- package/dist/sd-core-common/src/types/Uuid.d.ts +0 -8
- package/dist/sd-core-common/src/types/Uuid.js.map +0 -1
- package/dist/sd-core-common/src/types/Uuid.mjs +0 -26
- package/dist/sd-core-common/src/types/WrappedType.d.ts +0 -1
- package/dist/sd-core-common/src/types/WrappedType.js.map +0 -1
- package/dist/sd-core-common/src/types/WrappedType.mjs +0 -2
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +0 -12
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +0 -67
- package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +0 -8
- package/dist/sd-core-common/src/utils/FunctionQueue.js.map +0 -1
- package/dist/sd-core-common/src/utils/FunctionQueue.mjs +0 -46
- package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +0 -6
- package/dist/sd-core-common/src/utils/FunctionUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/FunctionUtil.mjs +0 -31
- package/dist/sd-core-common/src/utils/JsonConvert.d.ts +0 -8
- package/dist/sd-core-common/src/utils/JsonConvert.js.map +0 -1
- package/dist/sd-core-common/src/utils/JsonConvert.mjs +0 -78
- package/dist/sd-core-common/src/utils/MathUtil.d.ts +0 -3
- package/dist/sd-core-common/src/utils/MathUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/MathUtil.mjs +0 -6
- package/dist/sd-core-common/src/utils/NumberUtil.d.ts +0 -6
- package/dist/sd-core-common/src/utils/NumberUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/NumberUtil.mjs +0 -32
- package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +0 -80
- package/dist/sd-core-common/src/utils/ObjectUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/ObjectUtil.mjs +0 -452
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +0 -6
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +0 -1
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +0 -27
- package/dist/sd-core-common/src/utils/StringUtil.d.ts +0 -8
- package/dist/sd-core-common/src/utils/StringUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/StringUtil.mjs +0 -77
- package/dist/sd-core-common/src/utils/Wait.d.ts +0 -4
- package/dist/sd-core-common/src/utils/Wait.js.map +0 -1
- package/dist/sd-core-common/src/utils/Wait.mjs +0 -23
- package/dist/sd-core-node/src/index.d.ts +0 -6
- package/dist/sd-core-node/src/index.js.map +0 -1
- package/dist/sd-core-node/src/index.mjs +0 -7
- package/dist/sd-core-node/src/utils/FsUtil.d.ts +0 -44
- package/dist/sd-core-node/src/utils/FsUtil.js.map +0 -1
- package/dist/sd-core-node/src/utils/FsUtil.mjs +0 -493
- package/dist/sd-core-node/src/utils/Logger.d.ts +0 -91
- package/dist/sd-core-node/src/utils/Logger.js.map +0 -1
- package/dist/sd-core-node/src/utils/Logger.mjs +0 -185
- package/dist/sd-core-node/src/utils/PathUtil.d.ts +0 -6
- package/dist/sd-core-node/src/utils/PathUtil.js.map +0 -1
- package/dist/sd-core-node/src/utils/PathUtil.mjs +0 -24
- package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +0 -15
- package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +0 -1
- package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +0 -43
- package/dist/sd-core-node/src/utils/SdProcess.d.ts +0 -5
- package/dist/sd-core-node/src/utils/SdProcess.js.map +0 -1
- package/dist/sd-core-node/src/utils/SdProcess.mjs +0 -36
- package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +0 -12
- package/dist/sd-orm-common/src/CaseQueryHelper.js.map +0 -1
- package/dist/sd-orm-common/src/CaseQueryHelper.mjs +0 -19
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +0 -12
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +0 -1
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +0 -20
- package/dist/sd-orm-common/src/DbContext.d.ts +0 -81
- package/dist/sd-orm-common/src/DbContext.js.map +0 -1
- package/dist/sd-orm-common/src/DbContext.mjs +0 -635
- package/dist/sd-orm-common/src/IDbConnection.d.ts +0 -15
- package/dist/sd-orm-common/src/IDbConnection.js.map +0 -1
- package/dist/sd-orm-common/src/IDbConnection.mjs +0 -2
- package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +0 -17
- package/dist/sd-orm-common/src/IDbContextExecutor.js.map +0 -1
- package/dist/sd-orm-common/src/IDbContextExecutor.mjs +0 -2
- package/dist/sd-orm-common/src/IDbMigration.d.ts +0 -4
- package/dist/sd-orm-common/src/IDbMigration.js.map +0 -1
- package/dist/sd-orm-common/src/IDbMigration.mjs +0 -2
- package/dist/sd-orm-common/src/QueryBuilder.d.ts +0 -48
- package/dist/sd-orm-common/src/QueryBuilder.js.map +0 -1
- package/dist/sd-orm-common/src/QueryBuilder.mjs +0 -1022
- package/dist/sd-orm-common/src/QueryHelper.d.ts +0 -75
- package/dist/sd-orm-common/src/QueryHelper.js.map +0 -1
- package/dist/sd-orm-common/src/QueryHelper.mjs +0 -627
- package/dist/sd-orm-common/src/QueryUnit.d.ts +0 -10
- package/dist/sd-orm-common/src/QueryUnit.js.map +0 -1
- package/dist/sd-orm-common/src/QueryUnit.mjs +0 -16
- package/dist/sd-orm-common/src/Queryable.d.ts +0 -105
- package/dist/sd-orm-common/src/Queryable.js.map +0 -1
- package/dist/sd-orm-common/src/Queryable.mjs +0 -1375
- package/dist/sd-orm-common/src/SdOrmDataType.d.ts +0 -21
- package/dist/sd-orm-common/src/SdOrmDataType.js.map +0 -1
- package/dist/sd-orm-common/src/SdOrmDataType.mjs +0 -2
- package/dist/sd-orm-common/src/commons.d.ts +0 -400
- package/dist/sd-orm-common/src/commons.js.map +0 -1
- package/dist/sd-orm-common/src/commons.mjs +0 -8
- package/dist/sd-orm-common/src/decorators.d.ts +0 -29
- package/dist/sd-orm-common/src/decorators.js.map +0 -1
- package/dist/sd-orm-common/src/decorators.mjs +0 -89
- package/dist/sd-orm-common/src/index.d.ts +0 -17
- package/dist/sd-orm-common/src/index.js.map +0 -1
- package/dist/sd-orm-common/src/index.mjs +0 -18
- package/dist/sd-orm-common/src/models/SystemMigration.d.ts +0 -3
- package/dist/sd-orm-common/src/models/SystemMigration.js.map +0 -1
- package/dist/sd-orm-common/src/models/SystemMigration.mjs +0 -13
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +0 -14
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +0 -1
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +0 -66
- package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +0 -8
- package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +0 -1
- package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +0 -248
- package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +0 -4
- package/dist/sd-orm-node/src/DbConnectionFactory.js.map +0 -1
- package/dist/sd-orm-node/src/DbConnectionFactory.mjs +0 -17
- package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +0 -19
- package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +0 -1
- package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +0 -71
- package/dist/sd-orm-node/src/SdOrm.d.ts +0 -10
- package/dist/sd-orm-node/src/SdOrm.js.map +0 -1
- package/dist/sd-orm-node/src/SdOrm.mjs +0 -25
- package/dist/sd-orm-node/src/index.d.ts +0 -4
- package/dist/sd-orm-node/src/index.js.map +0 -1
- package/dist/sd-orm-node/src/index.mjs +0 -5
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +0 -25
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +0 -1
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +0 -321
- package/dist/sd-orm-node-mssql/src/index.d.ts +0 -2
- package/dist/sd-orm-node-mssql/src/index.js.map +0 -1
- package/dist/sd-orm-node-mssql/src/index.mjs +0 -3
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +0 -22
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +0 -1
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +0 -200
- package/dist/sd-orm-node-mysql/src/index.d.ts +0 -2
- package/dist/sd-orm-node-mysql/src/index.js.map +0 -1
- package/dist/sd-orm-node-mysql/src/index.mjs +0 -3
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +0 -22
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +0 -1
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +0 -172
- package/dist/sd-orm-node-sqlite/src/index.d.ts +0 -2
- package/dist/sd-orm-node-sqlite/src/index.js.map +0 -1
- package/dist/sd-orm-node-sqlite/src/index.mjs +0 -3
- package/dist/sd-service-common/src/commons-orm.d.ts +0 -4
- package/dist/sd-service-common/src/commons-orm.js.map +0 -1
- package/dist/sd-service-common/src/commons-orm.mjs +0 -2
- package/dist/sd-service-common/src/commons-smtp.d.ts +0 -29
- package/dist/sd-service-common/src/commons-smtp.js.map +0 -1
- package/dist/sd-service-common/src/commons-smtp.mjs +0 -2
- package/dist/sd-service-common/src/commons.d.ts +0 -57
- package/dist/sd-service-common/src/commons.js.map +0 -1
- package/dist/sd-service-common/src/commons.mjs +0 -3
- package/dist/sd-service-common/src/index.d.ts +0 -3
- package/dist/sd-service-common/src/index.js.map +0 -1
- package/dist/sd-service-common/src/index.mjs +0 -4
- package/dist/sd-service-server/src/ApiServiceError.d.ts +0 -12
- package/dist/sd-service-server/src/ApiServiceError.js.map +0 -1
- package/dist/sd-service-server/src/ApiServiceError.mjs +0 -15
- package/dist/sd-service-server/src/SdServiceServer.d.ts +0 -39
- package/dist/sd-service-server/src/SdServiceServer.js.map +0 -1
- package/dist/sd-service-server/src/SdServiceServer.mjs +0 -513
- package/dist/sd-service-server/src/commons.d.ts +0 -23
- package/dist/sd-service-server/src/commons.js.map +0 -1
- package/dist/sd-service-server/src/commons.mjs +0 -3
- package/dist/sd-service-server/src/index.d.ts +0 -8
- package/dist/sd-service-server/src/index.js.map +0 -1
- package/dist/sd-service-server/src/index.mjs +0 -9
- package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +0 -4
- package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +0 -20
- package/dist/sd-service-server/src/services/SdCryptoService.d.ts +0 -7
- package/dist/sd-service-server/src/services/SdCryptoService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdCryptoService.mjs +0 -39
- package/dist/sd-service-server/src/services/SdOrmService.d.ts +0 -22
- package/dist/sd-service-server/src/services/SdOrmService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdOrmService.mjs +0 -115
- package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +0 -6
- package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +0 -44
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +0 -4
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +0 -1
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +0 -36
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { IAddColumnQueryDef, IAddForeignKeyQueryDef, IAddPrimaryKeyQueryDef, IClearDatabaseIfExistsQueryDef, IConfigForeignKeyCheckQueryDef, IConfigIdentityInsertQueryDef, ICreateDatabaseIfNotExistsQueryDef, ICreateIndexQueryDef, ICreateTableQueryDef, ICreateViewQueryDef, IDeleteQueryDef, IDropIndexQueryDef, IDropPrimaryKeyQueryDef, IDropTableQueryDef, IGetDatabaseInfoDef, IGetTableColumnInfosDef, IGetTableForeignKeysDef, IGetTableIndexesDef, IGetTableInfoDef, IGetTableInfosDef, IGetTablePrimaryKeysDef, IInsertIfNotExistsQueryDef, IInsertIntoQueryDef, IInsertQueryDef, IModifyColumnQueryDef, IQueryTableNameDef, IRemoveColumnQueryDef, IRemoveForeignKeyQueryDef, IRenameColumnQueryDef, ISelectQueryDef, ITruncateTableQueryDef, IUpdateQueryDef, IUpsertQueryDef, TQueryBuilderValue, TQueryDef } from "./commons";
|
|
2
|
-
import { QueryHelper } from "./QueryHelper";
|
|
3
|
-
import { TDbContextOption } from "./DbContext";
|
|
4
|
-
export declare class QueryBuilder {
|
|
5
|
-
private readonly _dialect;
|
|
6
|
-
qh: QueryHelper;
|
|
7
|
-
constructor(_dialect: TDbContextOption["dialect"]);
|
|
8
|
-
createDatabaseIfNotExists(def: ICreateDatabaseIfNotExistsQueryDef): string;
|
|
9
|
-
clearDatabaseIfExists(def: IClearDatabaseIfExistsQueryDef): string;
|
|
10
|
-
getDatabaseInfo(def: IGetDatabaseInfoDef): string;
|
|
11
|
-
getTableInfos(def?: IGetTableInfosDef): string;
|
|
12
|
-
getTableInfo(def: IGetTableInfoDef): string;
|
|
13
|
-
getTableColumnInfos(def: IGetTableColumnInfosDef): string;
|
|
14
|
-
getTablePrimaryKeys(def: IGetTablePrimaryKeysDef): string;
|
|
15
|
-
getTableForeignKeys(def: IGetTableForeignKeysDef): string;
|
|
16
|
-
getTableIndexes(def: IGetTableIndexesDef): string;
|
|
17
|
-
createTable(def: ICreateTableQueryDef): string;
|
|
18
|
-
createView(def: ICreateViewQueryDef): string;
|
|
19
|
-
dropTable(def: IDropTableQueryDef): string;
|
|
20
|
-
addColumn(def: IAddColumnQueryDef): string[];
|
|
21
|
-
removeColumn(def: IRemoveColumnQueryDef): string;
|
|
22
|
-
modifyColumn(def: IModifyColumnQueryDef): string[];
|
|
23
|
-
renameColumn(def: IRenameColumnQueryDef): string;
|
|
24
|
-
dropPrimaryKey(def: IDropPrimaryKeyQueryDef): string;
|
|
25
|
-
addPrimaryKey(def: IAddPrimaryKeyQueryDef): string;
|
|
26
|
-
addForeignKey(def: IAddForeignKeyQueryDef): string;
|
|
27
|
-
removeForeignKey(def: IRemoveForeignKeyQueryDef): string;
|
|
28
|
-
createIndex(def: ICreateIndexQueryDef): string;
|
|
29
|
-
dropIndex(def: IDropIndexQueryDef): string;
|
|
30
|
-
configIdentityInsert(def: IConfigIdentityInsertQueryDef): string;
|
|
31
|
-
configForeignKeyCheck(def: IConfigForeignKeyCheckQueryDef): string;
|
|
32
|
-
select(def: ISelectQueryDef): string;
|
|
33
|
-
insertInto(def: IInsertIntoQueryDef): string;
|
|
34
|
-
insert(def: IInsertQueryDef): string;
|
|
35
|
-
update(def: IUpdateQueryDef): string;
|
|
36
|
-
insertIfNotExists(def: IInsertIfNotExistsQueryDef): string;
|
|
37
|
-
upsert(def: IUpsertQueryDef): string;
|
|
38
|
-
delete(def: IDeleteQueryDef): string;
|
|
39
|
-
truncateTable(def: ITruncateTableQueryDef): string;
|
|
40
|
-
query(def: TQueryDef): string;
|
|
41
|
-
wrap(name: string): string;
|
|
42
|
-
getTableName(def: IQueryTableNameDef): string;
|
|
43
|
-
getTableNameWithoutDatabase(def: IQueryTableNameDef): string;
|
|
44
|
-
getTableNameChain(def: IQueryTableNameDef): string[];
|
|
45
|
-
getQueryOfQueryValue(queryValue: TQueryBuilderValue): string;
|
|
46
|
-
private _getQueryOfColDef;
|
|
47
|
-
private _getQueryOfJoinDef;
|
|
48
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/QueryBuilder.ts"],"names":[],"mappings":"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"}
|