tencentcloud-sdk-nodejs-vm 4.0.1052 → 4.1.19

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 (39) hide show
  1. package/README.md +27 -5
  2. package/es/index.js +1 -0
  3. package/es/services/index.js +1 -0
  4. package/es/services/vm/index.js +8 -0
  5. package/es/services/vm/v20200709/index.js +6 -0
  6. package/es/services/vm/v20200709/vm_client.js +21 -0
  7. package/es/services/vm/v20200709/vm_models.js +0 -0
  8. package/es/services/vm/v20201229/index.js +6 -0
  9. package/es/services/vm/v20201229/vm_client.js +18 -0
  10. package/es/services/vm/v20201229/vm_models.js +0 -0
  11. package/es/services/vm/v20210922/index.js +6 -0
  12. package/es/services/vm/v20210922/vm_client.js +18 -0
  13. package/es/services/vm/v20210922/vm_models.js +0 -0
  14. package/package.json +26 -8
  15. package/tencentcloud/services/vm/index.d.ts +4 -4
  16. package/tencentcloud/services/vm/index.js +2 -2
  17. package/tencentcloud/services/vm/v20200709/index.js +2 -1
  18. package/tencentcloud/services/vm/v20200709/vm_client.js +2 -1
  19. package/tencentcloud/services/vm/v20201229/index.js +2 -1
  20. package/tencentcloud/services/vm/v20201229/vm_client.js +2 -1
  21. package/tencentcloud/services/vm/v20210922/index.js +2 -1
  22. package/tencentcloud/services/vm/v20210922/vm_client.js +2 -1
  23. package/index.d.ts +0 -2
  24. package/index.js +0 -6
  25. package/prettier.config.js +0 -38
  26. package/src/index.ts +0 -1
  27. package/src/services/index.ts +0 -1
  28. package/src/services/vm/index.ts +0 -9
  29. package/src/services/vm/v20200709/index.ts +0 -6
  30. package/src/services/vm/v20200709/vm_client.ts +0 -118
  31. package/src/services/vm/v20200709/vm_models.ts +0 -1005
  32. package/src/services/vm/v20201229/index.ts +0 -6
  33. package/src/services/vm/v20201229/vm_client.ts +0 -147
  34. package/src/services/vm/v20201229/vm_models.ts +0 -1127
  35. package/src/services/vm/v20210922/index.ts +0 -6
  36. package/src/services/vm/v20210922/vm_client.ts +0 -149
  37. package/src/services/vm/v20210922/vm_models.ts +0 -1252
  38. package/tsconfig.json +0 -33
  39. package/typings/index.d.ts +0 -2
package/README.md CHANGED
@@ -44,18 +44,40 @@ npm install tencentcloud-sdk-nodejs-vpc --save
44
44
 
45
45
  ### 安装全产品 SDK
46
46
 
47
+ 如果项目依赖的云产品较多,可以引入全产品 SDK。
48
+
47
49
  ```
48
50
  npm install tencentcloud-sdk-nodejs --save
49
51
  ```
50
52
 
51
- 全产品 SDK 包含了所有云产品的调用代码,体积偏大,对体积敏感的场景,推荐安装指定产品 SDK。
53
+ 全产品 SDK 包含所有云产品调用代码和 TypeScript 类型文件,体积偏大。对于体积敏感的场景,推荐安装指定产品 SDK。
54
+
55
+ 如果既希望全产品调用,又对包体积比较敏感,可以使用 Slim 版本 SDK。Slim SDK 移除类型文件,并进行了代码压缩,适合体积敏感场景使用:
56
+
57
+ ```
58
+ npm install tencentcloud-sdk-slim-nodejs --save
59
+ ```
52
60
 
53
61
  ## 通过源码包安装
54
62
 
55
- 1. 前往 [GitHub 仓库](https://github.com/tencentcloud/tencentcloud-sdk-nodejs) 或者 [Gitee 仓库](https://gitee.com/tencentcloud/tencentcloud-sdk-nodejs) 下载源码压缩包。
56
- 2. 解压源码包到您项目合适的位置,例如 `sdk/tencentcloud-sdk-nodejs`。
57
- 3. 执行 `npm install ./sdk/tencentcloud-sdk-nodejs`。
58
- 4. 使用 `require("tencentcloud-sdk-nodejs")` 的方式引入 SDK,具体可参考示例。
63
+ 1. clone 代码到本地:
64
+ ```
65
+ git clone https://github.com/tencentcloud/tencentcloud-sdk-nodejs
66
+ # 或者
67
+ git clone https://gitee.com/tencentcloud/tencentcloud-sdk-nodejs
68
+ ```
69
+ 2. 在项目根目录执行以下命令完成构建:
70
+ ```
71
+ npm install && npm run build
72
+ ```
73
+ 3. 打包 NPM 压缩文件,例如 `tencentcloud-sdk-nodejs-4.0.0.tgz`
74
+ ```
75
+ npm pack
76
+ ```
77
+ 4. 安装包到你的项目里:
78
+ ```
79
+ npm install /path/to/tencentcloud-sdk-nodejs/tencentcloud-sdk-nodejs-4.0.0.tgz
80
+ ```
59
81
 
60
82
  # 示例
61
83
 
package/es/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from "./services";
@@ -0,0 +1 @@
1
+ export { vm } from "./vm";
@@ -0,0 +1,8 @@
1
+ import { v20200709 } from "./v20200709";
2
+ import { v20201229 } from "./v20201229";
3
+ import { v20210922 } from "./v20210922";
4
+ export const vm = {
5
+ v20200709: v20200709,
6
+ v20201229: v20201229,
7
+ v20210922: v20210922,
8
+ };
@@ -0,0 +1,6 @@
1
+ import * as Models from "./vm_models";
2
+ import { Client } from "./vm_client";
3
+ export const v20200709 = {
4
+ Client: Client,
5
+ Models: Models,
6
+ };
@@ -0,0 +1,21 @@
1
+ import * as TencentCloudCommon from "tencentcloud-sdk-nodejs-common";
2
+ export class Client extends TencentCloudCommon.AbstractClient {
3
+ constructor(clientConfig) {
4
+ super("vm.tencentcloudapi.com", "2020-07-09", clientConfig);
5
+ }
6
+ async DescribeTaskDetail(req, cb) {
7
+ return this.request("DescribeTaskDetail", req, cb);
8
+ }
9
+ async CreateVideoModerationTask(req, cb) {
10
+ return this.request("CreateVideoModerationTask", req, cb);
11
+ }
12
+ async DescribeVideoStat(req, cb) {
13
+ return this.request("DescribeVideoStat", req, cb);
14
+ }
15
+ async CreateBizConfig(req, cb) {
16
+ return this.request("CreateBizConfig", req, cb);
17
+ }
18
+ async CancelTask(req, cb) {
19
+ return this.request("CancelTask", req, cb);
20
+ }
21
+ }
File without changes
@@ -0,0 +1,6 @@
1
+ import * as Models from "./vm_models";
2
+ import { Client } from "./vm_client";
3
+ export const v20201229 = {
4
+ Client: Client,
5
+ Models: Models,
6
+ };
@@ -0,0 +1,18 @@
1
+ import * as TencentCloudCommon from "tencentcloud-sdk-nodejs-common";
2
+ export class Client extends TencentCloudCommon.AbstractClient {
3
+ constructor(clientConfig) {
4
+ super("vm.tencentcloudapi.com", "2020-12-29", clientConfig);
5
+ }
6
+ async DescribeTaskDetail(req, cb) {
7
+ return this.request("DescribeTaskDetail", req, cb);
8
+ }
9
+ async CreateVideoModerationTask(req, cb) {
10
+ return this.request("CreateVideoModerationTask", req, cb);
11
+ }
12
+ async DescribeTasks(req, cb) {
13
+ return this.request("DescribeTasks", req, cb);
14
+ }
15
+ async CancelTask(req, cb) {
16
+ return this.request("CancelTask", req, cb);
17
+ }
18
+ }
File without changes
@@ -0,0 +1,6 @@
1
+ import * as Models from "./vm_models";
2
+ import { Client } from "./vm_client";
3
+ export const v20210922 = {
4
+ Client: Client,
5
+ Models: Models,
6
+ };
@@ -0,0 +1,18 @@
1
+ import * as TencentCloudCommon from "tencentcloud-sdk-nodejs-common";
2
+ export class Client extends TencentCloudCommon.AbstractClient {
3
+ constructor(clientConfig) {
4
+ super("vm.tencentcloudapi.com", "2021-09-22", clientConfig);
5
+ }
6
+ async DescribeTaskDetail(req, cb) {
7
+ return this.request("DescribeTaskDetail", req, cb);
8
+ }
9
+ async CreateVideoModerationTask(req, cb) {
10
+ return this.request("CreateVideoModerationTask", req, cb);
11
+ }
12
+ async DescribeTasks(req, cb) {
13
+ return this.request("DescribeTasks", req, cb);
14
+ }
15
+ async CancelTask(req, cb) {
16
+ return this.request("CancelTask", req, cb);
17
+ }
18
+ }
File without changes
package/package.json CHANGED
@@ -1,16 +1,26 @@
1
1
  {
2
2
  "name": "tencentcloud-sdk-nodejs-vm",
3
- "version": "4.0.1052",
4
- "description": "Tencent Cloud API NODEJS SDK",
5
- "main": "tencentcloud/index.js",
3
+ "version": "4.1.19",
4
+ "description": "腾讯云 API NODEJS SDK",
5
+ "main": "./tencentcloud/index.js",
6
+ "module": "./es/index.js",
7
+ "types": "./tencentcloud/index.d.ts",
6
8
  "scripts": {
7
9
  "test": "mocha -t 10000",
8
- "build": "tsc",
9
- "prettier": "prettier --config prettier.config.js --write 'src/**/*.{tsx,ts,jsx,js,css,json,vue}'"
10
+ "build": "concurrently 'npm:build:cjs' 'npm:build:es'",
11
+ "build:cjs": "tsc -p tsconfig.json",
12
+ "build:es": "tsc -p tsconfig.es.json",
13
+ "build:slim": "node ./scripts/build_slim.js",
14
+ "prettier": "prettier --config prettier.config.js --write 'src/**/*.{tsx,ts,jsx,js,css,json,vue}'",
15
+ "clean": "rimraf tencentcloud es"
10
16
  },
11
17
  "engines": {
12
18
  "node": ">=10"
13
19
  },
20
+ "files": [
21
+ "tencentcloud",
22
+ "es"
23
+ ],
14
24
  "keywords": [
15
25
  "tencentcloudapi",
16
26
  "tencentcloud",
@@ -22,7 +32,7 @@
22
32
  "author": "tencentcloudapi",
23
33
  "license": "Apache-2.0",
24
34
  "dependencies": {
25
- "tencentcloud-sdk-nodejs-common": "^4.0.488",
35
+ "tencentcloud-sdk-nodejs-common": "*",
26
36
  "tslib": "1.13.0"
27
37
  },
28
38
  "directories": {
@@ -35,14 +45,22 @@
35
45
  },
36
46
  "devDependencies": {
37
47
  "@types/form-data": "^2.5.0",
48
+ "@types/json-bigint": "^1.0.1",
38
49
  "@types/node": "^14.0.26",
39
50
  "@types/node-fetch": "^2.5.7",
51
+ "@types/uuid": "^9.0.8",
40
52
  "@typescript-eslint/eslint-plugin": "^2.34.0",
41
53
  "@typescript-eslint/parser": "^2.34.0",
54
+ "babel-eslint": "^10.0.2",
42
55
  "chai": "^4.2.0",
56
+ "concurrently": "^6.5.1",
57
+ "esbuild": "^0.25.0",
43
58
  "eslint": "^6.8.0",
44
- "mocha": "^8.1.1",
59
+ "eslint-plugin-react": "^7.17.0",
60
+ "mocha": "^8.4.0",
61
+ "prettier": "^2.3.0",
62
+ "rimraf": "^5.0.10",
45
63
  "ts-node": "^8.10.2",
46
64
  "typescript": "^3.9.7"
47
65
  }
48
- }
66
+ }
@@ -1,8 +1,4 @@
1
1
  export declare const vm: {
2
- v20210922: {
3
- Client: typeof import("./v20210922/vm_client").Client;
4
- Models: typeof import("./v20210922/vm_models");
5
- };
6
2
  v20200709: {
7
3
  Client: typeof import("./v20200709/vm_client").Client;
8
4
  Models: typeof import("./v20200709/vm_models");
@@ -11,4 +7,8 @@ export declare const vm: {
11
7
  Client: typeof import("./v20201229/vm_client").Client;
12
8
  Models: typeof import("./v20201229/vm_models");
13
9
  };
10
+ v20210922: {
11
+ Client: typeof import("./v20210922/vm_client").Client;
12
+ Models: typeof import("./v20210922/vm_models");
13
+ };
14
14
  };
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.vm = void 0;
4
- const v20210922_1 = require("./v20210922");
5
4
  const v20200709_1 = require("./v20200709");
6
5
  const v20201229_1 = require("./v20201229");
6
+ const v20210922_1 = require("./v20210922");
7
7
  exports.vm = {
8
- v20210922: v20210922_1.v20210922,
9
8
  v20200709: v20200709_1.v20200709,
10
9
  v20201229: v20201229_1.v20201229,
10
+ v20210922: v20210922_1.v20210922,
11
11
  };
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.v20200709 = void 0;
4
- const Models = require("./vm_models");
4
+ const tslib_1 = require("tslib");
5
+ const Models = tslib_1.__importStar(require("./vm_models"));
5
6
  const vm_client_1 = require("./vm_client");
6
7
  exports.v20200709 = {
7
8
  Client: vm_client_1.Client,
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Client = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  /* eslint-disable @typescript-eslint/no-unused-vars */
5
6
  /*
6
7
  * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
@@ -18,7 +19,7 @@ exports.Client = void 0;
18
19
  * specific language governing permissions and limitations
19
20
  * under the License.
20
21
  */
21
- const TencentCloudCommon = require("tencentcloud-sdk-nodejs-common");
22
+ const TencentCloudCommon = tslib_1.__importStar(require("tencentcloud-sdk-nodejs-common"));
22
23
  /**
23
24
  * vm client
24
25
  * @class
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.v20201229 = void 0;
4
- const Models = require("./vm_models");
4
+ const tslib_1 = require("tslib");
5
+ const Models = tslib_1.__importStar(require("./vm_models"));
5
6
  const vm_client_1 = require("./vm_client");
6
7
  exports.v20201229 = {
7
8
  Client: vm_client_1.Client,
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Client = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  /* eslint-disable @typescript-eslint/no-unused-vars */
5
6
  /*
6
7
  * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
@@ -18,7 +19,7 @@ exports.Client = void 0;
18
19
  * specific language governing permissions and limitations
19
20
  * under the License.
20
21
  */
21
- const TencentCloudCommon = require("tencentcloud-sdk-nodejs-common");
22
+ const TencentCloudCommon = tslib_1.__importStar(require("tencentcloud-sdk-nodejs-common"));
22
23
  /**
23
24
  * vm client
24
25
  * @class
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.v20210922 = void 0;
4
- const Models = require("./vm_models");
4
+ const tslib_1 = require("tslib");
5
+ const Models = tslib_1.__importStar(require("./vm_models"));
5
6
  const vm_client_1 = require("./vm_client");
6
7
  exports.v20210922 = {
7
8
  Client: vm_client_1.Client,
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Client = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  /* eslint-disable @typescript-eslint/no-unused-vars */
5
6
  /*
6
7
  * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
@@ -18,7 +19,7 @@ exports.Client = void 0;
18
19
  * specific language governing permissions and limitations
19
20
  * under the License.
20
21
  */
21
- const TencentCloudCommon = require("tencentcloud-sdk-nodejs-common");
22
+ const TencentCloudCommon = tslib_1.__importStar(require("tencentcloud-sdk-nodejs-common"));
22
23
  /**
23
24
  * vm client
24
25
  * @class
package/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import * as tencentcloud from './tencentcloud';
2
- export default tencentcloud;
package/index.js DELETED
@@ -1,6 +0,0 @@
1
- 'use strict'
2
- Object.defineProperty(exports, '__esModule', { value: true })
3
- const tslib_1 = require('tslib')
4
- const tencentcloud = tslib_1.__importStar(require('./tencentcloud'))
5
- exports.default = tencentcloud
6
- //# sourceMappingURL=index.js.map
@@ -1,38 +0,0 @@
1
- // prettier.config.js
2
- module.exports = {
3
- // 一行最多 100 字符
4
- printWidth: 100,
5
- // 使用 4 个空格缩进
6
- tabWidth: 2,
7
- // 不使用缩进符,而使用空格
8
- useTabs: false,
9
- // 行尾需要有分号
10
- semi: false,
11
- // 使用单引号
12
- singleQuote: false,
13
- // 对象的 key 仅在必要时用引号
14
- quoteProps: "as-needed",
15
- // jsx 不使用单引号,而使用双引号
16
- jsxSingleQuote: false,
17
- // 末尾不需要逗号
18
- trailingComma: "es5",
19
- // 大括号内的首尾需要空格
20
- bracketSpacing: true,
21
- // jsx 标签的反尖括号需要换行
22
- jsxBracketSameLine: false,
23
- // 箭头函数,只有一个参数的时候,也需要括号
24
- arrowParens: "always",
25
- // 每个文件格式化的范围是文件的全部内容
26
- rangeStart: 0,
27
- rangeEnd: Infinity,
28
- // 不需要写文件开头的 @prettier
29
- requirePragma: false,
30
- // 不需要自动在文件开头插入 @prettier
31
- insertPragma: false,
32
- // 使用默认的折行标准
33
- proseWrap: "preserve",
34
- // 根据显示样式决定 html 要不要折行
35
- htmlWhitespaceSensitivity: "css",
36
- // 换行符使用 lf
37
- endOfLine: "lf",
38
- }
package/src/index.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./services"
@@ -1 +0,0 @@
1
- export { vm } from "./vm"
@@ -1,9 +0,0 @@
1
- import { v20210922 } from "./v20210922"
2
- import { v20200709 } from "./v20200709"
3
- import { v20201229 } from "./v20201229"
4
-
5
- export const vm = {
6
- v20210922: v20210922,
7
- v20200709: v20200709,
8
- v20201229: v20201229,
9
- }
@@ -1,6 +0,0 @@
1
- import * as Models from "./vm_models"
2
- import { Client } from "./vm_client"
3
- export const v20200709 = {
4
- Client: Client,
5
- Models: Models,
6
- }
@@ -1,118 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
- /*
3
- * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
- import * as TencentCloudCommon from "tencentcloud-sdk-nodejs-common"
19
- import {
20
- ImageSegments,
21
- ImageResultResult,
22
- StorageInfo,
23
- BucketInfo,
24
- CreateVideoModerationTaskResponse,
25
- TaskResult,
26
- CancelTaskRequest,
27
- DescribeTaskDetailResponse,
28
- DescribeVideoStatResponse,
29
- CreateBizConfigResponse,
30
- TaskInput,
31
- DescribeTaskDetailRequest,
32
- TaskLabel,
33
- ImageResultsResultDetail,
34
- DescribeVideoStatRequest,
35
- InputInfo,
36
- EvilCount,
37
- CreateVideoModerationTaskRequest,
38
- AudioResultDetailLanguageResult,
39
- FileOutput,
40
- CancelTaskResponse,
41
- TrendCount,
42
- AudioResultDetailTextResult,
43
- Overview,
44
- AudioResult,
45
- AudioResultDetailMoanResult,
46
- CreateBizConfigRequest,
47
- MediaInfo,
48
- MediaModerationConfig,
49
- AudioSegments,
50
- Filters,
51
- ImageResultsResultDetailLocation,
52
- ImageResult,
53
- } from "./vm_models"
54
-
55
- /**
56
- * vm client
57
- * @class
58
- */
59
- export class Client extends TencentCloudCommon.AbstractClient {
60
- constructor(clientConfig: TencentCloudCommon.ClientConfig) {
61
- super("vm.tencentcloudapi.com", "2020-07-09", clientConfig)
62
- }
63
-
64
- /**
65
- * 查看任务详情DescribeTaskDetail
66
- */
67
- async DescribeTaskDetail(
68
- req: DescribeTaskDetailRequest,
69
- cb?: (error: string, rep: DescribeTaskDetailResponse) => void
70
- ): Promise<DescribeTaskDetailResponse> {
71
- return this.request("DescribeTaskDetail", req, cb)
72
- }
73
-
74
- /**
75
- * 通过URL或存储桶创建审核任务
76
- */
77
- async CreateVideoModerationTask(
78
- req: CreateVideoModerationTaskRequest,
79
- cb?: (error: string, rep: CreateVideoModerationTaskResponse) => void
80
- ): Promise<CreateVideoModerationTaskResponse> {
81
- return this.request("CreateVideoModerationTask", req, cb)
82
- }
83
-
84
- /**
85
- * 控制台识别统计
86
- */
87
- async DescribeVideoStat(
88
- req: DescribeVideoStatRequest,
89
- cb?: (error: string, rep: DescribeVideoStatResponse) => void
90
- ): Promise<DescribeVideoStatResponse> {
91
- return this.request("DescribeVideoStat", req, cb)
92
- }
93
-
94
- /**
95
- * 创建业务配置,1个账号最多可以创建20个配置,可定义音频审核的场景,如色情、谩骂等,
96
-
97
- 在创建业务配置之前,你需要以下步骤:
98
- 1. 开通COS存储捅功能,新建存储桶,例如 cms_segments,用来存储 视频转换过程中生成对音频和图片。
99
- 2. 然后在COS控制台,授权天御内容安全主账号 对 cms_segments 存储桶对读写权限。具体授权操作,参考https://cloud.tencent.com/document/product/436/38648
100
-
101
- */
102
- async CreateBizConfig(
103
- req: CreateBizConfigRequest,
104
- cb?: (error: string, rep: CreateBizConfigResponse) => void
105
- ): Promise<CreateBizConfigResponse> {
106
- return this.request("CreateBizConfig", req, cb)
107
- }
108
-
109
- /**
110
- * 取消任务
111
- */
112
- async CancelTask(
113
- req: CancelTaskRequest,
114
- cb?: (error: string, rep: CancelTaskResponse) => void
115
- ): Promise<CancelTaskResponse> {
116
- return this.request("CancelTask", req, cb)
117
- }
118
- }